公司一个新的项目要求使用 SqlServer 数据库,SqlServer 以前没使用过,最近安装了开发版的 2016,在此记录一下:
微软 SQL Server 2016 正式版将分为四个版本,分别是企业版(Enterprise)、标准版(Standard)、速成版(Express)和开发人员版本(Developer)。其中,和 Visual Studio 一样,SQL Server 2016 也同样提供免费版本,其中 Express 速成版和 Developer 开发者版就是免费的,大家可以随意下载使用。
SQL Server 2016 Developer 开发人员版包含了企业版全部的完整功能,但该版本仅能用于开发、测试和演示用途,并不允许部署到生产环境中。Express 速成版则是完全免费的入门级 SQL Server 数据库版本,适用于学习、开发、或部署较小规模的 WEB 和应用程序服务器。
开发版下载地址:ed2k://|file|cn_sql_server_2016_developer_x64_dvd_8776722.iso|2452795392|EF6BAADFBCC9C647180B0F93FD0186D0| 或者 ed2k://|file|cn_sql_server_2016_enterprise_with_service_pack_1_x64_dvd_9538279.iso|2959722496|E3F5E07B85F0AB42CA115CE1D6CA27D1|/(带有服务包 ed2k://|file|cn_sql_server_2016_service_pack_1_x64_dvd_9542234.iso|922746880|631E3A033399FD987D144429C6D517AF|/)
未经授权购买的企业版最好不要在生产环境中部署:ed2k://|file|cn_sql_server_2016_enterprise_x64_dvd_8699450.iso|2452795392|D8AFD8D6245F518F53F720C48E2819C0|
管理工具 SSMS 下载:\http://download.microsoft.com/download/7/8/0/7808D223-499D-4577-812B-9A2A60048841/SSMS-Setup-CHS.exehttp://download.microsoft.com/download/7/8/0/7808D223-499D-4577-812B-9A2A60048841/SSMS-Setup-CHS.exe或者 下载 SQL Server Management Studio (SSMS) - SQL Server Management Studio (SSMS) | Microsoft Docs
下载完成,虚拟光驱加载 ISO 文件之后,双击盘符即可开始安装。注意 SQL Server 2016 的安装分成了两个步骤:1. 安装 SQL Server;2. 安装 SSMS 等工具。
产品密钥参见:点击打开链接
建议安装项:一般应用选下面 6 个就够了,如果 C 盘空间不太够可以将路径改到 D 盘。
下面几步指定一下“身份验证模式”和一些目录就可以了,比较简单。
安装的时候遇到这个报错:
a newer version of sql server />包括两种登录方式,系统登录和管理员登录,连接上后打开数据库选项,右键选择新建数据库,配置好常规、选项和文件组3个内容点击确定即可。
![]()
![]()
创建用户通过选择安全性选项卡下面的登录名,右键新建登录名填写相应的内容,
![]()
将用户映射到对应的数据库上,
![]()
用户创建完成后需要授予对应的权限,权限配置在相应数据库的属性配置中,主要将插入、更新、删除、选择权限给该用户。
![]()
![]()
SqlServer登陆名和用户是分开的但也是关联的,如上创建了登录名test,也在spm数据库创建了一个用户,
如删除登录名给的提示:
![]()
如果要删除test账户(即NT域账号),首先要删除test登录名,然后删除对应数据库的用户。
删除Windows认证用户前,确认是否有数据库的OWNER或者作业归属为此Windows认证用户。否则删除登录名时会报错
Msg 15174, Level 16, State 1, Line 4
Login 'xxx\xxxx' owns one or more database(s). Change the owner of the database(s) before dropping the login.
Msg 15174, Level 16, State 1, Line 4
登录名 'xxx\xxx' 拥有一个或多个数据库。在删除该登录名之前,请更改相应数据库和作业的所有者。
必须修改数据库的Owner后(一般将数据库的owner改为sa),才能删除登录名
sp_changedbowner 'sa'
exec sp_change objectowner 'test', 'dbo'
(补充修改孤立账户的方法是指某个数据库的帐户只有用户名而没有登录名,
这样的用户在用户库的sysusers系统表中存在,而在master数据库的syslogins中却没有对应的记录。
孤立帐户的产生一般是一下两种:
1.将备份的数据库在其它机器上还原;
2.重装系统或SQL SERVER之后只还原了用户库
解决方法:
解决方法是使用sp_change_users_login来修复。
sp_change_users_login的用法有三种
修复方法:
步骤1:
exec sp_change_users_login 'REPORT' --列出当前数据库的孤立用户
步骤2:
exec sp_change_users_login 'AUTO_FIX','用户名' --可以自动将用户名所对应的同名登录添加到syslogins中
步骤3:
exec sp_change_users_login 'Update_ONE','用户名','登录名' --将用户名映射为指定的登录名 )
有时候删除用户时,报下面错误,必须修改后,才能删除对应的用户。
遇到下面错误:
Msg 15138, Level 16, State 1, Line 3
数据库主体在该数据库中拥有 架构,无法删除。
解决方法一
先删除此用户对应的架构,然后在删除对应的用户
步骤
1。SQL SERVER MANAGEMENT STUDIO》数据库》安全性》构架,先删除对应的构架
2。SQL SERVER MANAGEMENT STUDIO》数据库》安全性》用户,删除对应的用户
解决方法二
–执行如下SQL语句
ALTER AUTHORIZATION ON SCHEMA::db_owner TO dbo;
–然后手动删除就可以了。
如何将SqlServer数据导出到oracle中,打开管理工具中的导出数据任务,
![]()
首先选择数据源,一般默认为本地sqlserver端,如下所示:
![]()
下一步填写要导出的目标数据库,这里选择oracle,这里选择与Oracle相关的OLE DB Provider,包括.net for oracle,oledb等,数据源填orcl或者localhost/orcl,
![]()
![]()
![]()
![]()
下一步如果有提示警告则表示存在两个不同数据库的列类型没有调整完成。
![]()
点击下一步处理完成即可。
![]()
sqlserver management studio可以备份和还原数据库,得到文件后缀名为bak或者mdf\ldf,右键选择数据库下任务选项卡下的操作即可。
![]()