2019年5月28日 星期二

同伺服器下複製資料庫

導言:
這需求通常是把主資料庫的資料匯到測試資料庫,身為程式人員,直覺是把檔案(.mdf)複製改名就好。但SQL SERVER並不提供這麼直覺的方法。然後就很想用寫程式的方式來解缺,但比較簡單的做法是用SQL Server 提供的匯入匯出來完成。很不直覺,但操作最簡單。


Step 1:[問題]無法在附加資料庫時更改資料庫名稱




Step2:匯出資料
資料庫>右鍵>工作>匯出資料



Step3:歡迎使用 SQL Server匯入和匯出精靈

Step4:資料來源:SQL Server Native Client xx.oo




總結:
好的方法,常常就不是那麼直覺。我要複製資料庫,怎麼會用匯出?而想法不同結果卻一樣。邏輯推論的盲點。

SQL Server匯入匯出精靈 無法擷取資料表清單 ,登入逾時終止

導言:
這問題常出在,SQL Server Express版本。因為預設SQL Server伺服器名稱不需要加註\SQLEXPRESS。


Step 1:問題
在使用匯出資料功能時,發生無法登入目標主機。
[無法擷取資料表單。]
[登入逾時終止]


Step2:修改,伺服器名稱+\SQLEXPRESS



Step3:連通了


總結:
因為EXPRESS版免費,所以很多小地方就是讓你很不舒服。

2019年5月22日 星期三

無法啟動程式,因為您的電腦遺失ATL100.DLL。請嘗試重新安裝以修正這個問題。

導言:
偉大的微軟,常常做些關門放狗的事。這錯誤訊息發生於,我想移除所有電腦中的舊SQL Server 換成最新2017版。結果安裝時才跟我說我的作業系統無法使用,幹的好。然後回頭找2014年SQL Server Express版時遇到各種不順利,然後就跑出這個錯誤訊息。ATL100.DLL是什麼,留給我猜。


Step 1:問題
當在開*.sln方案檔時,發生這問題。

Step2:修改開啟檔案的執行檔
在檔案右鍵>[開啟檔案]>[選擇預設程式]>選擇適合的執行軟體


總結:
通常出現這錯誤是開啟檔案的「預設程式」指向錯誤的程式所造成的。
為何呢?因有時手就很癢,想把硬碟清一清。結果把一些相關聯的舊程式砍掉了,而windows還沒聰明到把這些關聯指向最新軟體。



參考文件:


2019年5月14日 星期二

使用者嘗試登入 SQL Server 時,發生錯誤代碼為 18456 的登入失敗問題

導言:
處理遠端是最讓人沮喪的事,因為要處理很多「防火牆」

Step 1:檢查是否使用混合驗證模式
[SQL Server Management Studio]>右鍵>[屬性]>[安全性]>[伺服器驗證]>選用:SQL Server 及Windows 驗證模式。



Step2:重新啟動SQL Server (停止)
[SQL Server Management Studio]>右鍵>[停止]

二次確認,常常會沒發現這視窗。尤其是多螢幕下會在左上角無聲無息的跳出。

Step3:重新啟動SQL Server (啟動)
[SQL Server Management Studio]>右鍵>[啟動]

提示:如果不小心關掉這視窗,就要去[服務]開啟了

Step4:登入完成


總結:
難得的一次,微軟文件居然一次就解決了這道難題了。細看才發現是MVP撰寫,不是自動翻譯文件。還真是有差,專業的就是不一樣。



參考文件:
如何解決以 Windows 驗證方式登入 SQL Server 時,出現錯誤代碼 18456 (一點通系列 - MVP 撰寫)

SQL Server Browser 無法變更(灰色狀態)

導言:
預設是中止,而且藏在很底層。連「服務」都無法強制開啟。



Step 1:SQL Server 啟用通訊協定
.[SQL Server 組態管理員]>[SQL Server 服務]>[SQL Server Browser]>右鍵內容>[服務]>[啟動模式]>改成自動。
.[服務]>[SQL Server Browser]>右鍵內容>[一般]>[啟動類型]>改成自動。
(以上擇一)







總結:
微軟的文件始終如一,不知所云。


參考文件:
SQL Server Browser 無法啟動》→沒解決,只是提到另一種開啟的管道
SQL Server Browser 服務》→微軟標準火星文
小小工程師-【MS SQL】SQL Server2014 允許遠端連線》→還是實戰專家切中要害。


SQL Server 遠端連線設定

導言:


Step 1:SQL Server 啟用通訊協定
A.[SQL Server 組態管理員]>[SQL Server 網路組態]>[TCP/IP]>設定TCP通訊埠。
B.開啟TCP/IP 狀態。





Step 2:Windows 防火牆中開啟通訊埠供 TCP 存取
(以下A.B擇一)
A.[執行]>WF.msc>[輸入規則]>[新增規則]>[程式]>SQL Server 預設位於 [C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\Binn\Sqlservr.exe]


B.[執行]>WF.msc>[輸入規則]>[新增規則]>[通訊埠]=1433(預設sql server port)
選取:允許連線





Step 3:SQL Server Browser
.[SQL Server 組態管理員]>[SQL Server 服務]>[SQL Server Browser]>[啟動]
.[服務]>[SQL Server Browser]>右鍵>啟用
(以上兩項擇一執行即可)



如果這個沒開啟服務,就無法遠端連入

小提示:《SQL Server Browser 無法變更 灰色


Step 4:確認SQL Server設定







Step 5:遠端連線
使用[SQL Server Management Studio]連線



總結:
微軟的文件始終如一,不知所云。


參考文件:
SQL文件:第 2 課:從另一部電腦連接
【MS SQL】SQL Server2014 允許遠端連線