2013年8月14日 星期三

[SQL Server]建立連結伺服器(DB LINK)

情境說明:
  1. 自A資料庫能夠查詢B資料庫上的物件(ex:Table, View....)
  2. B資料庫已有帳號且有權限存取特定資料庫
  3. SQL Server 對 SQL Server
  4. 資料庫版本SQL Server 2008 R2
步驟:
  • 使用圖形介面
    1. 開啟[SQL SERVER Management Studio]
    2. 展開[伺服器物件]後在[連結的伺服器]上[右鍵],點選[新增連結的伺服器]
    3. 在[新增連結的伺服器]視窗中的[一般]頁籤依序輸入如下欄位
      • 連結的伺服器:輸入[AR]
      • 伺服器類型:點選[其他資料來源]
      • 提供者:下拉選單選[Microsoft OLE DB Provider for SQL Server]
      • 產品名稱:輸入[SQLNCLI]
      • 資料來源:輸入B主機IP[10.48.16.10]
    4. 在[新增連結的伺服器]視窗中的[安全性]頁籤依序輸入如下欄位,輸入完後按下[確定
      • 點選[使用此安全性內容建立]
      • 遠端登入:[User Name]->此User在B資料庫主機上需要有權限
      • 指定密碼:[Password]->User密碼
    5. 以上程序完成後便可使用此DB Link,例如:SELECT * from [AR]..[B資料庫名稱].[dbo].[TABLE NAME]

  • 使用T-SQL
             USE [master]
             GO
             EXEC master.dbo.sp_addlinkedserver
                 @server = N'AR',
                 @srvproduct=N'SQLNCLI',
                 @provider=N'SQLOLEDB',
                 @datasrc=N'10.48.16.10'
             GO
             USE [master]
             GO
             EXEC master.dbo.sp_addlinkedsrvlogin
                @rmtsrvname = N'AR',
                @locallogin = NULL ,
                @useself = N'False',
                @rmtuser = N'User Name',
                @rmtpassword = N'Password'
            GO
          
            P.S. sp_addlinkedserver 參數說明
                    @server = N'AR',  連結的伺服器
                    @srvproduct=N'a',  產品名稱(SQLNCLI)
                    @provider=N'SQLOLEDB', 提供者
                    @datasrc=N'b',   資料來源(預設執行個體)
                    @provstr=N'c',   提供者字串(可不填)
                    @catalog=N'd'   目錄(資料庫名稱,可不填)

參考資料及說明
  1. sp_addlinkedserver(建立連結伺服器)
  2. 連結伺服器的安全性
  3. T-SQL及圖形介面對應

2013年8月11日 星期日

透過本機群組原則部屬BGINFO

        最近因為資料庫開始大量升級到SQL Server 2008 R2 x64有時候開了很多遠端桌面,開到最後都快搞不清楚我是在操作哪台主機,後來看到BGINFO這隻程式可以將系統相關資訊,而且很多講師也都有使用,加上又是微軟推薦的,當然就要拿來用啦~

        因為我是只用在資料庫主機上,並沒有所有網域主機都要用,所以就沒有用網域的LOGIN SCRIPT,在文章的最後也有附上網域的做法。
  1. 在[C:\]建立[BGINFO]資料夾
  2. 將下載回來的[BGINFO.zip]檔案解壓縮到[C:\BGINFO]路徑下
  3. 雙擊[Bginfo.exe]
  4. 當出現[BGInfo License Agreement]的授權按下[Agree]
  5. 在[BGInfo - Default Configuration]視窗中,依據您的需求選擇您需要的資訊,可參考下圖
  6. 設定完後選擇工具列的[File]->[Save As]
  7. 自訂檔案名稱後將檔案放在[C:\BGINFO]路徑下後按下[存檔]
  8. 回到[BGInof]主畫面後按下[OK],關閉程式
  9. 在[C:\BGINFO]路徑下建立[BGInfo.cmd]後透過NOTEPAD編輯
  10. 將[C:\BGINFO\bginfo.exe C:\BGINFO\Config.bgi  /Timer:0 /NolicPrompt]貼到 [BGInfo.cmd]中後存檔離開
  11. 依序點擊[開始]->[執行]->輸入[gpedit.msc]後按下[確定]
  12. 在[本機群組原則編輯器]視窗中依序展開[使用者設定]->[Windows設定]->[指令碼(登入/登出)]並雙擊右邊視窗中的[登入]
  13. 在[登入-內容]視窗中按下[新增]
  14. 在[新增指令碼]視窗中的指令碼名稱指到[C:\BGINFO\BGInfo.cmd]後按下[確定]
  15. 回到[登入-內容]視窗中按下[確定],關閉[本機群組原則編輯器]視窗
  16. 以上步驟完成後,任何使用者登入都會出現系統資訊了
參考資料
  1. 下載BgInfo v4.20
  2. 如何利用GPO logon script來部署BGinfo