1.当sql server出现当 MUST_CHANGE 为 ON (开)时
取消账号强制策略时出现错误
当 MUST_CHANGE 为 ON (开)时,不能将 CHECK_POLICY 和 CHECK_EXPIRATION 选项设为 OFF (关)。 (Microsoft SQL Server,错误: 15128)
这错误引起的原因是因为勾选了那个"强制实施密码策略",于是..我们必须执行如下语句.先更改一次密码.然后再做其他的操作:
ALTER LOGIN 登录名 WITH PASSWORD=
'新密码'
;
执行完这个以后..赶紧把强制密码去掉..万事OK
2.服务器级的urn筛选器无效:筛选器必须为空,或服务器属性必须等于实际的服务器名称
这个问题是出在本地连接还是远程连接上,这个问题可能是由于修改过服务器名称导致的。你可以尝试在本地的服务器和SQL Server上运行以下指令,看看服务器名称是否一致 ->打开CMD,运行:hostname;打开SQL Server,运行SELECT @@SERVERNAME AS 'Server Name' 。
如果不一致的话,需要重命名一下计算机或者SQL Server,看一下这篇文档: https://docs.microsoft.com/en-us/sql/database-engine/install-windows/rename-a-computer-that-hosts-a-stand-alone-instance-of-sql-server
如果只是远程连接有问题的话就可能是DNS的问题,可以参考下这篇博客: http://blog.patricknielsen.net/2011/01/sql-server-invalid-urn-filter-on-server.html
sp_dropserver <old_name>;
GO
sp_addserver <new_name>, local;
GO
sp_dropserver <old_name\instancename>;
GO
sp_addserver <new_name\instancename>, local;
GO
3.批量导入数据时保留标识值 (SQL Server)
在sql server 导入数据的时候,会有一个“启用标示插入”的选项,我不知道有多数据库从业者注意过这个功能,也不知道大家是否都清楚,就我个人而言,很少在意这个按钮。今天在导测试数据的时候,选了这个选项突然间蒙了,经过几番测试。一点小体会。和大家分享。
首先:“启用标示插入”只对标示列(identity定义的列)起作用。所以如果你要使用这个功能,肯定得有标示列了。我当时狂晕的地方在于,我没在数据库创建表,而是直接在导入数据的过程中创建表,默认的创建表的sql语句是不会定义标示列的,所以,你如果偷懒,请在“编辑sql语句”的按钮中把标示列增加上。如果为非标识列,你导入数据的时候,启用和不启用标识列插入。没有任何意义。
其次:如果是标示列,你选择了“启用标示插入” 则标识列不自动生成,而是使用外部文件(如excel,txt等)中的导入列,如果你没有选择“启用标示插入”,则标识列自动生成。