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等)中的導入列,如果你沒有選擇“啟用標示插入”,則標識列自動生成。