1. 程式人生 > >伺服器級的urn篩選器無效:篩選器必須為空,或伺服器屬性必須等於實際的伺服器名稱

伺服器級的urn篩選器無效:篩選器必須為空,或伺服器屬性必須等於實際的伺服器名稱

MSSQL匯入資料遷移時遇到的幾個問題

Posted on 2017-11-15 10:35 hddk 閱讀(775) 評論(0) 編輯 收藏

1.當sql server出現當 MUST_CHANGE 為 ON (開)時

取消賬號強制策略時出現錯誤
當 MUST_CHANGE 為 ON (開)時,不能將 CHECK_POLICY 和 CHECK_EXPIRATION 選項設為 OFF (關)。 (Microsoft SQL Server,錯誤: 15128)
這錯誤引起的原因是因為勾選了那個"強制實施密碼策略",於是..我們必須執行如下語句.先更改一次密碼.然後再做其他的操作:

1 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

1 2 3 4 sp_dropserver <old_name>;  GO  sp_addserver <new_name>, local;  GO

  

1 2 3 4 sp_dropserver <old_name\instancename>;  GO  sp_addserver <new_name\instancename>, local;  GO

3.批量匯入資料時保留標識值 (SQL Server)

    在sql server 匯入資料的時候,會有一個“啟用標示插入”的選項,我不知道有多資料庫從業者注意過這個功能,也不知道大家是否都清楚,就我個人而言,很少在意這個按鈕。今天在導測試資料的時候,選了這個選項突然間蒙了,經過幾番測試。一點小體會。和大家分享。
       首先:“啟用標示插入”只對標示列(identity定義的列)起作用。所以如果你要使用這個功能,肯定得有標示列了。我當時狂暈的地方在於,我沒在資料庫建立表,而是直接在匯入資料的過程中建立表,預設的建立表的sql語句是不會定義標示列的,所以,你如果偷懶,請在“編輯sql語句”的按鈕中把標示列增加上。如果為非標識列,你匯入資料的時候,啟用和不啟用標識列插入。沒有任何意義。
      其次:如果是標示列,你選擇了“啟用標示插入” 則標識列不自動生成,而是使用外部檔案(如excel,txt等)中的匯入列,如果你沒有選擇“啟用標示插入”,則標識列自動生