成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

SQL Server數(shù)據(jù)庫于應用程序的關系

數(shù)據(jù)庫 SQL Server
我們今天是要和大家一起討論的是SQL Server數(shù)據(jù)庫與其實際應用元數(shù)據(jù),以及對SQL Server數(shù)據(jù)庫于應用程序之間的關系描述。

以下的文章主要是介紹SQL Server數(shù)據(jù)庫與其實際應用元數(shù)據(jù),我前兩天在相關網(wǎng)站看見SQL Server數(shù)據(jù)庫與其實際應用元數(shù)據(jù)的資料,覺得挺好,就拿出來供大家分享,希望會給大家?guī)硪恍椭诖朔矫妗?/p>

我常被問到如何把駐留在物理服務器/SQL 實例上的SQL Server數(shù)據(jù)庫轉變?yōu)樗鼈兿鄳膽贸绦蛎Q。在準備計劃好的服務器停機通知時,這種需要就產(chǎn)生了,但在我的組織內(nèi)與IT經(jīng)理或非技術人員溝通時,這也是有價值的。如果你不是數(shù)據(jù)

我常被問到如何把駐留在物理服務器/SQL 實例上的數(shù)據(jù)庫轉變?yōu)樗鼈兿鄳膽贸绦蛎Q。在準備計劃好的服務器停機通知時,這種需要就產(chǎn)生了,但在我的組織內(nèi)與IT經(jīng)理或非技術人員溝通時,這也是有價值的。

如果你不是數(shù)據(jù)庫管理員或特定數(shù)據(jù)庫的應用分析師,你通常會無視數(shù)據(jù)庫的命名規(guī)則,而這些數(shù)據(jù)庫支持著你每日依賴的應用程序。這就是為什么當需要產(chǎn)生時在適當?shù)奈恢蒙嫌稍獢?shù)據(jù)庫來提供轉化很重要。

專家解答

大部分數(shù)據(jù)庫管理員擁有某種形式的數(shù)據(jù)庫元SQL Server數(shù)據(jù)庫,他們依賴其來跟蹤范圍很廣的Microsoft SQL Server環(huán)境。我利用連接的服務器和分布式數(shù)據(jù)庫訪問來建立一個已經(jīng)在我的環(huán)境中使用了七年的元數(shù)據(jù)庫。它不是漂亮的,但它是功能性很強的。

跟很多IT開發(fā)者和數(shù)據(jù)庫管理員一樣,即使它有自身的不足我還是為自己的創(chuàng)造感到驕傲。它很慢,不像它可以的那樣最新型,也不像它應該的那樣安全。

自從讀了2007年5月和6月Rodney Landrum在SQL Server雜志上發(fā)表的關于SQL Server集成服務(SSIS)和數(shù)據(jù)庫管理員知識庫(DBA Repositories)的文章,我知道是時候采取別人的解決方法了。這對于我的環(huán)境來說是完美的,而一些改動也是容易采納的。

2008年2月,一篇后續(xù)文章在SQL Server雜志上發(fā)表,在這篇文章里,Rodney更新了他的解決方法。我下載了代碼,在我的測試環(huán)境里審核,并迅速把它納入產(chǎn)品中。當大家普遍地為這個解決方法所提供的而感到高興時,在它包中缺少的一方面是把數(shù)據(jù)庫關聯(lián)到應用程序的能力。

通過在他的解決方法中增加兩張額外的表,我可以在我的“土生土長”元數(shù)據(jù)庫中增加應用程序元數(shù)據(jù)到我現(xiàn)在使用的SQL Server雜志的方法中。

增加到我數(shù)據(jù)庫中的應用元數(shù)據(jù)包括創(chuàng)建兩張表:dbo.Applications,專為存儲所有程序的應用名稱,而這些程序在我的環(huán)境中依賴于SQL Server數(shù)據(jù)庫,還有

dbo.Database_Applications,它保存SQL 實例、SQL Server數(shù)據(jù)庫和應用程序之間的關系。

  1. Applications Table   
  2. CREATE TABLE [dbo].[Applications]   
  3. (   
  4. [AppID] [int] IDENTITY(154,1) NOT NULL,   
  5. [ApplicationName] [varchar](100) NOT NULL,   
  6. )  
  7. Database_Applications Table   
  8. CREATE TABLE [dbo].[Database_Applications]   
  9. (   
  10. [DB_AppID] [int] IDENTITY(1,1) NOT NULL,   
  11. [ServerName] [varchar](50) NOT NULL,   
  12. [DatabaseName] [varchar](100) NOT NULL,   
  13. [ApplicationName] [varchar](100) NULL   

你可能注意到,我沒有規(guī)范化dbo.Database_Applications表。如果我規(guī)范化,我會只存儲兩個區(qū)域:一個與存儲我的應用元數(shù)據(jù)的表有關的外鍵,和一個與我的元數(shù)據(jù)庫相對應的外鍵。我有自己的原因:

我沒有處理大量的數(shù)據(jù):我有大概800個數(shù)據(jù)庫,這些SQL Server數(shù)據(jù)庫在我的環(huán)境里發(fā)布80個實例。雖然這對于一個數(shù)據(jù)庫管理員來說是個很大的環(huán)境,但是它既不轉變成在我的元數(shù)據(jù)表里的大量紀錄,也不轉變成數(shù)據(jù)庫的巨大字節(jié)。

不是通過dbo.Applications表的主鍵,而是包含表中的應用程序名,我可以通過只訪問dbo.Database_Applications表產(chǎn)生我的主要應用程序元數(shù)據(jù)報告(key Application Metadata report)。

我的環(huán)境中的SQL元數(shù)據(jù)庫使用“焦土政策”人口處理方法,除了SQL Agent Job History和Backup History,其他的表都被每天刪除和重新載入。我發(fā)現(xiàn)在

dbo.Database_Applications表中保存信息可以使我的生活變得很容易。

每日從我的環(huán)境中載入數(shù)據(jù)后,我可以通過以下腳本得到在我的環(huán)境中產(chǎn)生的任何新的數(shù)據(jù)庫的良好的陳述。

  1. SELECT D.[Server], D.DatabaseName   
  2. FROM dbo.Databases D LEFT JOIN dbo.Database_Applications DA   
  3. ON D.DatabaseName = DA.DatabaseName AND D.[Server] = DA.[ServerName]   
  4. WHERE DA.DB_AppID IS NULL   
  5. ORDER BY D.[Server], D.DatabaseName 

這個查詢的結果提供任何數(shù)據(jù)庫的清單,這些SQL Server數(shù)據(jù)庫產(chǎn)生于上次我更新應用元數(shù)據(jù)和服務器時,它不僅是跨域的數(shù)據(jù)庫創(chuàng)建活動的通知,也是致力于更新兩個數(shù)據(jù)庫來符合應用程序信息的數(shù)據(jù)清單。這個查詢也適合SQL Server Reporting Services報告的數(shù)據(jù)表,而當我不在辦公室時,SQL Server Reporting Services報告也為我提供了一個新的數(shù)據(jù)庫到我的黑莓(BlackBerry)的日常通知。

最后,我創(chuàng)建了以下存儲程序,由此用任何新的數(shù)據(jù)庫信息來合并dbo.Applications表和dbo.Database_Applications 表。它接受三個參數(shù):服務器,數(shù)據(jù)庫和應用程序。如果應用程序已經(jīng)不存在于dbo.Applications表中,它就會被補充。然后一個記錄被插入到服務器/數(shù)據(jù)庫/應用程序關系中的dbo.Applications表。

  1. CREATE PROCEDURE [dbo].[pAdd_Application] @ServerName varchar(50),   
  2. @DatabaseName varchar(100), @ApplicationName varchar(100)   
  3. AS   
  4. --Add any new databases created, but not recorded in the repository, to the repository   
  5. UPDATE dbo.Database_Applications   
  6. SET ApplicationName = @ApplicationName   
  7. WHERE ServerName = @ServerName   
  8. AND DatabaseName = @DatabaseName   
  9. AND ApplicationName IS NULL   
  10. --Determine if there is already an application for this database in the repository, if not, then add it  
  11. IF (SELECT COUNT(*) FROM dbo.Applications WHERE ApplicationName = @ApplicationName) = 0   
  12. BEGIN   
  13. INSERT INTO dbo.Applications (ApplicationName)   
  14. VALUES (@ApplicationName)   
  15. PRINT 'Added new Application: ' + @ApplicationName + ' to Applications table'   
  16. SELECT * FROM dbo.Applications WHERE ApplicationName = @ApplicationName   
  17. END   
  18. --List the new record in the repository   
  19. SELECT ServerName, DatabaseName, ApplicationName   
  20. FROM dbo.Database_Applications   
  21. WHERE ServerName = @ServerName   
  22. AND DatabaseName = @DatabaseName   
  23. AND ApplicationName = @ApplicationName 

雖然我可以很容易地把這個存儲程序的執(zhí)行整合為SQL Server集成服務(SSIS)程序包中的最后一步,而這個程序包能夠組裝我的存儲數(shù)據(jù)庫,但我選擇不這樣做,這是為了在我的環(huán)境里,我能密切關注圍繞新的SQL Server數(shù)據(jù)庫創(chuàng)造而展開的活動。

【編輯推薦】

  1. SQL Server數(shù)據(jù)文件監(jiān)控與數(shù)據(jù)文件的查看
  2. SQL Server 2008稀疏列與列集的經(jīng)驗總結
  3. SQL Server排序遇到NULL,不怕不帕!
  4. SQL Server獲取表的容量很簡單!
  5. SQL Server行轉列的什么情況下被用?
責任編輯:佚名 來源: TechTarget中國
相關推薦

2011-03-30 11:15:35

SQL Server數(shù)應用程序

2009-04-02 10:26:27

2010-08-12 21:06:00

數(shù)據(jù)庫應用程序數(shù)據(jù)庫安全

2010-08-12 21:13:49

數(shù)據(jù)庫安全應用程序安全

2020-05-03 12:57:32

數(shù)據(jù)庫DIY管道

2022-05-10 08:00:00

數(shù)據(jù)庫數(shù)據(jù)庫監(jiān)控監(jiān)控系統(tǒng)

2021-02-23 23:06:31

數(shù)據(jù)庫Redis技術

2011-03-31 10:18:42

SQL Server數(shù)據(jù)體系應用程序邏輯

2010-07-15 17:28:50

SQL Server

2022-10-24 14:21:09

數(shù)據(jù)庫應用數(shù)據(jù)庫數(shù)據(jù)管理

2010-06-17 10:02:12

SQL Server數(shù)

2011-08-18 10:36:24

SQL ServerISNULL函數(shù)

2011-08-19 14:53:02

SQL ServerDataRelatio

2018-01-24 20:42:06

數(shù)據(jù)庫NoSQL驅動力

2010-07-08 11:05:14

SQL Server數(shù)

2011-03-30 16:19:46

SQL Server邏輯數(shù)據(jù)庫設計

2010-06-30 08:41:21

SQL Server嵌

2011-07-20 16:03:06

SQL Server數(shù)分區(qū)表

2011-03-24 09:07:11

SQL Server數(shù)備份

2011-03-24 09:24:08

SQL Server數(shù)還原
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 超碰成人免费 | 日韩成人免费视频 | 国外成人免费视频 | 日韩精品免费视频 | 精品久久久久一区二区国产 | 一区二区三区欧美 | 日韩精品一区二区三区中文在线 | 精品1区2区3区4区 | 欧美综合一区二区三区 | 羞羞视频免费观看入口 | 一级做a | 国产精品视频久久久 | 国产美女在线观看 | 精品一区在线 | 成人精品高清 | www.887色视频免费 | 亚洲国产精品视频一区 | 欧美在线视频网站 | 天天艹天天干天天 | 亚洲天堂影院 | 黄色毛片在线观看 | 国产视频福利 | 国产精品久久久久久亚洲调教 | 国产精品毛片av | 欧美成人a∨高清免费观看 91伊人 | 天天操夜夜操免费视频 | 婷婷久久精品一区二区 | 日本视频中文字幕 | 免费的黄色片子 | 午夜视频在线免费观看 | 99精品一区二区 | 国产精品一区二 | 99成人免费视频 | 亚洲三级在线 | 国产在线97 | 国产精品久久久久不卡 | 日韩福利在线观看 | 自拍偷拍中文字幕 | 国产ts人妖系列高潮 | 男人的天堂在线视频 | 精品国产一区久久 |