亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數(shù)據(jù)庫 > SQL Server > 正文

SQL Server在AlwaysOn中使用內(nèi)存表的“踩坑”記錄

2024-08-31 01:05:08
字體:
供稿:網(wǎng)友

前言

最近因?yàn)榫€上sql/283939.html">alwayson環(huán)境的一個(gè)數(shù)據(jù)庫上使用內(nèi)存表。經(jīng)過大概一個(gè)星期監(jiān)控程序發(fā)現(xiàn)了一個(gè)非常嚴(yán)重問題這個(gè)數(shù)據(jù)庫的日志文件不會(huì)截?cái)?,已用空間一直在增加(存在定時(shí)的每個(gè)小時(shí)的日志備份),同時(shí)內(nèi)存表數(shù)據(jù)庫文件也無法刪除,下面就介紹一下后面我的處理過程,話不多說了,來一起看看詳細(xì)的介紹吧。

數(shù)據(jù)庫:SQL Server2014 Enterprise Edition (64-bit)

刪除文件

使用一個(gè)單獨(dú)非alwayson環(huán)境的數(shù)據(jù)庫測(cè)試。

一、創(chuàng)建內(nèi)存表

---創(chuàng)建內(nèi)存表文件組ALTER DATABASE [test] ADD FILEGROUP [test_ag] CONTAINS MEMORY_OPTIMIZED_DATA GO ----創(chuàng)建內(nèi)存表數(shù)據(jù)庫文件ALTER DATABASE [test] ADD FILE (  NAME = 'test_memory',  FILENAME ='D:/database/memory' ) TO FILEGROUP [test_ag]; GO

二、刪除內(nèi)存表數(shù)據(jù)庫文件

USE [test]GOALTER DATABASE [test] REMOVE FILE [test_memory]GO

sql,server,alwayson,sqlserver,內(nèi)存

備注:此時(shí)還未創(chuàng)建表,創(chuàng)建完后數(shù)據(jù)庫文件執(zhí)行刪除就無法刪除,接下來試試在線文檔的刪除方法方法

三、官方相關(guān)的刪除方法

即使已使用“DBCC SHRINKFILE”操作清空 FILESTREAM 容器,但出于各種系統(tǒng)維護(hù)原因,數(shù)據(jù)庫可能仍然需要保留對(duì)已刪除文件的引用。 sp_filestream_force_garbage_collection (TRANSACT-SQL)將運(yùn)行 FILESTREAM 垃圾回收器刪除這些文件時(shí),則可以安全進(jìn)行這些操作。 除非 FILESTREAM 垃圾回收器已從 FILESTREAM 容器中刪除所有文件,否則 ALTER DATABASEREMOVE FILE 操作將無法刪除 FILESTREAM 容器并返回錯(cuò)誤。 建議使用以下過程刪除 FILESTREAM 容器。

1.運(yùn)行DBCC SHRINKFILE (TRANSACT-SQL)帶有 EMPTYFILE 選項(xiàng)以將此容器的活動(dòng)內(nèi)容移動(dòng)到其他容器

USE test; GO -- Create a data file and assume it contains data. ALTER DATABASE test ADD FILE (  NAME = Test1data,  FILENAME = 'D:/database/t1data.ndf',  SIZE = 5MB  ); GO -- Empty the data file. DBCC SHRINKFILE (test_memory, EMPTYFILE); GO

sql,server,alwayson,sqlserver,內(nèi)存

2.確保已在 FULL 或 BULK_LOGGED 恢復(fù)模型中執(zhí)行日志備份。

3.確保復(fù)制日志讀取器作業(yè)已運(yùn)行(如果相關(guān))。

sql,server,alwayson,sqlserver,內(nèi)存

通過log_reuse_wait_desc的狀態(tài)可以看到當(dāng)前數(shù)據(jù)庫已經(jīng)無需日志備份,當(dāng)然我已經(jīng)執(zhí)行過日志備份。

4.運(yùn)行sp_filestream_force_garbage_collection (TRANSACT-SQL)強(qiáng)制垃圾回收器刪除不再需要此容器中的任何文件

USE [test]GO EXEC sp_filestream_force_garbage_collection @dbname = N'test' @filename = N' test_memory '; 

5.執(zhí)行帶有 REMOVE FILE 選項(xiàng)的 ALTER DATABASE,以刪除此容器。

USE [test]GOALTER DATABASE [test] REMOVE FILE [test_memory]GO

sql,server,alwayson,sqlserver,內(nèi)存

還是無法刪除?。?!

四、問題分析

一開始是在alwayson的環(huán)境中刪除,提示由于副本的原因無法刪除。后面單獨(dú)在一個(gè)非alwayson的環(huán)境下的數(shù)據(jù)庫測(cè)試同樣是無法刪除,起初以為是創(chuàng)建了內(nèi)存表的原因后面測(cè)試僅僅創(chuàng)建文件組和文件然后來刪除文件同樣是無法刪除,個(gè)人猜測(cè)有可能是buffer的緣故;在buffer中一直存在內(nèi)存表相關(guān)的文件存在,通過執(zhí)行DBCC DROPCLEANBUFFERS命令也無法清空buffer中的內(nèi)存表對(duì)象。使盡渾身解數(shù)還是無法將它刪除掉,最后只能投降了?。。【€上環(huán)境等不下去;只能使用最不愿使用的生成表結(jié)構(gòu)導(dǎo)出數(shù)據(jù)的辦法來重建新的數(shù)據(jù)庫。

生成腳本重建數(shù)據(jù)庫

創(chuàng)建一個(gè)新的數(shù)據(jù)庫同時(shí)保證當(dāng)前數(shù)據(jù)庫可用(重命名當(dāng)前的數(shù)據(jù)庫,新創(chuàng)建的數(shù)據(jù)庫使用之前的名稱這樣可以保證應(yīng)用程序那邊不需要改變),這樣如果出現(xiàn)什么問題也可以及時(shí)的切換回來。

步驟如下(在允許停機(jī)維護(hù)的情況下進(jìn)行):

1.禁用所有相關(guān)作業(yè)

2禁用應(yīng)用程序登入用戶

同時(shí)保證相關(guān)進(jìn)程事務(wù)都已完成。

ALTER LOGIN [test] DISABLEGOUSE [master]GOALTER DATABASE [test] SET SINGLE_USER WITH ROLLBACK IMMEDIATE;--將數(shù)據(jù)庫設(shè)置成單用戶并回滾當(dāng)前連接USE [test];---保持連接操作,防止其它用戶此時(shí)進(jìn)行連接GO

3.執(zhí)行checkpoint刷新所有臟頁

CHECKPOINT---返回當(dāng)前buffer中每個(gè)數(shù)據(jù)庫所占的buffer大小和buffer中臟頁的大小WITH CTE1 AS ( SELECT COUNT(*) * 8 / 1024 AS dirty_cached_size_MB ,  COUNT(*) AS dirty_pages,  CASE database_id  WHEN 32767 THEN 'ResourceDb'  ELSE DB_NAME(database_id)  END AS database_name FROM sys.dm_os_buffer_descriptors WHERE is_modified = 1 GROUP BY DB_NAME(database_id),database_id ), CET2 AS ( SELECT COUNT(*) * 8 / 1024 AS cached_size_MB ,  COUNT(*) AS pages,  CASE database_id  WHEN 32767 THEN 'ResourceDb'  ELSE DB_NAME(database_id)  END AS database_name FROM sys.dm_os_buffer_descriptors GROUP BY DB_NAME(database_id),database_id ) SELECT  CET2.database_name, CET2.cached_size_MB, --CET2.pages, CTE1.dirty_cached_size_MB --CTE1.dirty_pages  FROM CTE1 INNER JOIN CET2 ON CTE1.database_name = CET2.database_name---將數(shù)據(jù)庫選項(xiàng)改成多用戶訪問ALTER DATABASE [test] SET MULTI_USER;

4.生成數(shù)據(jù)庫腳本

sql,server,alwayson,sqlserver,內(nèi)存

sql,server,alwayson,sqlserver,內(nèi)存

sql,server,alwayson,sqlserver,內(nèi)存

sql,server,alwayson,sqlserver,內(nèi)存

5.重命名舊的數(shù)據(jù)庫

注意:如果數(shù)據(jù)庫是在alwayson中,需要先從可用性數(shù)據(jù)庫中刪除,否則無法重命名數(shù)據(jù)庫。

/*1.斷開數(shù)據(jù)庫所有連接同時(shí)禁止新的連接進(jìn)來2.比如禁止登入用戶、將實(shí)例設(shè)為單用戶模式等。*/----1.設(shè)置數(shù)據(jù)庫脫機(jī)USE [master] ALTER DATABASE [test] SET OFFLINE WITH ROLLBACK IMMEDIATE;----2.手動(dòng)修改數(shù)據(jù)庫物理文件名,例如將test.mdf改成test_old.mdf----3.語句修改USE [master] ALTER DATABASE [test] MODIFY FILE (NAME = test, FILENAME = 'C:/Program Files/Microsoft SQL Server/MSSQL12.MSSQLSERVER/MSSQL/DATA/test_old.mdf');GOALTER DATABASE [test] MODIFY FILE (NAME = test_log, FILENAME = 'C:/Program Files/Microsoft SQL Server/MSSQL12.MSSQLSERVER/MSSQL/DATA/test_old_log.ldf');GO---4.設(shè)置數(shù)據(jù)庫在線USE [master] ALTER DATABASE [test] SET ONLINE----5.修改數(shù)據(jù)庫邏輯文件名USE [test]GOALTER DATABASE [test] MODIFY FILE (NAME=N'test', NEWNAME=N'test_old')GOUSE [test]GOALTER DATABASE [test] MODIFY FILE (NAME=N'test_log', NEWNAME=N'test_old_log')GO----6.重命名數(shù)據(jù)庫USE [master] EXEC sp_renamedb N'test', N'test_old'; ----7.查詢SELECT *FROM sys.master_filesWHERE database_id = DB_ID('test_old');

6.創(chuàng)建新的數(shù)據(jù)庫同時(shí)導(dǎo)入腳本到新的數(shù)據(jù)庫

如果同時(shí)導(dǎo)出表結(jié)構(gòu)和數(shù)據(jù)在ssms工具中執(zhí)行可能會(huì)因?yàn)槟_本過大無法執(zhí)行,可以使用sqlcmd工具執(zhí)行腳本導(dǎo)入,具體方法可以百度一下。當(dāng)然還有其他方法就是只導(dǎo)出表結(jié)構(gòu)然后通過“導(dǎo)出數(shù)據(jù)/導(dǎo)入數(shù)據(jù)”的方法同步數(shù)據(jù)。

注意:如果使用“導(dǎo)出數(shù)據(jù)/導(dǎo)入數(shù)據(jù)”的方法同步數(shù)據(jù),注意勾選“啟用標(biāo)示插入”

sql,server,alwayson,sqlserver,內(nèi)存

7.其它

      1.如果存在alwayson記得將新的數(shù)據(jù)庫加入到可用性數(shù)據(jù)庫組中。

      2.將新的數(shù)據(jù)庫加入到備份作業(yè)中。

      3.對(duì)比新舊兩個(gè)數(shù)據(jù)庫的表數(shù)量是否相同。

      4.配置登入用戶新的數(shù)據(jù)庫權(quán)限。

總結(jié)

內(nèi)存表是2014新引入的功能所以對(duì)于新功能的第一個(gè)版本使用要比較慎重,特別是在線上環(huán)境。雖然在上線之前做過測(cè)試,但是顯然備份這塊的測(cè)試往往比較容易被忽略因?yàn)闆]有線上的這種環(huán)境。好在是這次影響的是一個(gè)新上的項(xiàng)目數(shù)據(jù)量和并發(fā)都很小且允許節(jié)假日停機(jī)維護(hù);如果是非常大的系統(tǒng)對(duì)于需要導(dǎo)入導(dǎo)出數(shù)據(jù)肯定是非常頭疼的事情關(guān)鍵還得看允許停機(jī)的時(shí)長。因?yàn)樽约涸谏a(chǎn)環(huán)境踩了坑,寫這篇文章希望后面的人可以避免踩坑。

備注:內(nèi)存表在2014版本的alwayson中無法同步到輔助副本,這就導(dǎo)致了它的作用大打折扣,2016版本可以同步到輔助副本,建議有條件的直接上2016。

好了,以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對(duì)VeVb武林網(wǎng)的支持。


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到MSSQL教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
成年人晚上看的视频| 亚洲在线资源| 欧美 日韩 亚洲 一区| 麻豆一区区三区四区产品精品蜜桃| 99在线小视频| 国产视频精选在线| 日韩精品专区在线影院观看| 狠狠躁夜夜躁人人爽天天天天97| 亚洲第一视频在线| 在线免费观看视频| 亚洲看片免费| 色视频在线观看| 久久久久麻豆v国产精华液好用吗| 午夜精品成人在线| 日韩高清三区| 精品99久久久久成人网站免费| 国产高清在线观看视频| 免费在线观看黄色网| 成人黄色免费网站| 亚洲精品鲁一鲁一区二区三区| 日本在线成人一区二区| 不卡电影一区二区三区| 99国内精品久久| 国产成人精品电影| 午夜大片在线观看| 在线天堂资源| aiai久久| 99国产精品久久一区二区三区| 色就是色欧美色图| 午夜激情成人网| 免费亚洲精品视频| 日韩女优av电影在线观看| 久久久久国产一区二区| 日本人体一区二区| 亚洲成人综合网站| 欧美视频亚洲图片| 亚洲美女少妇无套啪啪呻吟| 欧美精品一本久久男人的天堂| 中文字幕日韩综合av| 欧美日韩在线高清| 国产精品一区二区午夜嘿嘿嘿小说| 国产玉足榨精视频在线观看| 国产乱码精品一区二区三区精东| 一区2区3区在线看| 亚洲精品女av网站| av日韩在线免费观看| 超碰aⅴ人人做人人爽欧美| 国产3级在线观看| 欧美精品一区二区三区视频| 成年人视频在线免费观看| 李宗瑞系列合集久久| 欧美96一区二区免费视频| 性欧美精品孕妇| 日韩电影免费观看高清完整版| 国产午夜福利100集发布| 午夜激情在线| 欧美美女黄色网| 亚洲精品欧美精品| 九九九精品视频| 国内精品久久久久久中文字幕| 91在线九色porny| 亚洲色大成网站www久久九九| 欧美色图一区二区| 国产一区二区三区福利| hitomi一区二区三区精品| 久久亚洲精品大全| 日本精品视频一区二区| 狠狠色狠狠色综合婷婷tag| 婷婷激情小说网| 午夜精品久久久久久久蜜桃app| 男女猛烈激情xx00免费视频| 欧美另类高清videos| 蜜桃av噜噜一区二区三区| 秋霞电影一区二区| 黄色在线免费播放| 国内外成人免费激情在线视频网站| 亚洲第一视频| 日韩视频免费观看高清| 国产美女av在线| 欧美大码xxxx| 中文字幕欧美亚洲| 国内精品伊人久久久| 久久影院朴妮唛| 福利网址在线观看| 国产午夜视频在线观看| 极品少妇一区二区三区精品视频| 欧美日韩理论| 免费在线日韩av| 在线免费观看av片| 制服影音先锋| 国产亚洲精品久久久久久打不开| 成人不用播放器| 国产成人无码一区二区在线播放| av中文字幕一区| 337p亚洲精品色噜噜噜| 老鸭窝91久久精品色噜噜导演| 黄色成年人视频在线观看| 亚洲三级在线免费观看| 亚洲天堂自拍偷拍| 亚洲日本免费| 国精产品999国精产品官网| 非洲一级黄色片| 91色视频在线导航| 男女视频一区二区| 国产区美女在线| 日本激情视频网站| 黄色免费直接看| 伊人网在线免费观看| 一级片久久久久| 怡红院一区二区三区| 青青色在线视频| 亚洲精品国产精品乱码在线观看| 亚洲一区二区少妇| 亚洲国产三级在线| 亚洲熟女乱色一区二区三区| av影片在线播放| 亚洲精品久久久久久久蜜桃臀| 精品综合久久88少妇激情| 热久久美女精品天天吊色| 香蕉青柠影院| 成人免费在线看片| 亚洲免费视频观看| 国产精品美女久久久久aⅴ| 国产亚洲成av人在线观看导航| 国产精品揄拍100视频| 国产成人高清激情视频在线观看| 精品国产乱码久久久久久蜜臀网站| 性欧美暴力猛交另类hd| 91精品国产高清久久久久久91| 日韩欧美在线视频播放| www国产在线观看| 西瓜成人精品人成网站| 日日夜夜精品视频免费| xxww在线观看| 亚洲天堂久久新| 亚洲国产精品人久久电影| 国产精品日韩精品欧美在线| 欧美精品vⅰdeose4hd| 先锋影音成人资源| 中文字幕日日夜夜| 精品剧情v国产在线观看在线| 国产白袜脚足j棉袜在线观看| 日韩专区一卡二卡| 国产日韩第一页| 天堂中文在线观看| 一区二区三区四区国产精品| 国产欧美小视频| 美腿丝袜一区二区三区| 亚洲一区二区三区视频在线| 日本一区二区不卡高清更新| 日韩一中文字幕| 中出嫩模无套| 亚洲永久免费视频| 成人18免费| 免费看特级毛片| 日本免费精品| 欧美日韩国产免费一区二区三区| 中文字幕欧美在线| 蜜桃视频在线观看免费视频网站www| 你懂的视频在线观看资源| 91丨九色porny丨蝌蚪| 日韩理论电影院| 日本黄色一区| 亚洲成人综合在线| 亚洲AV无码一区二区三区性| 性色av蜜臀av浪潮av老女人| 天天看片中文字幕| 午夜午夜精品一区二区三区文| 成人av在线播放观看| 男女视频在线观看网站| 超碰国产精品久久国产精品99| 在线天堂资源www在线污| 久久人人97超碰人人澡爱香蕉| 日日干天天草| 91久久高清国语自产拍| 国模精品一区二区| 九色porny自拍视频在线观看| 女王人厕视频2ⅴk| 日本精品免费| 国产男女免费视频| 熟女少妇内射日韩亚洲| 五月天一区二区三区| 国产专区一区二区三区| 亚洲精品国产熟女久久久| 久久亚洲国产成人| 日韩av一区二区三区| 91精品国产色综合久久不8| 在线播放第一页| 另类视频在线观看+1080p| 国产一区二区三区香蕉| 日本美女视频一区二区| 欧美与黑人午夜性猛交久久久| 性疯狂做受xxxx高清视频| 91麻豆精品久久久久蜜臀| 永久免费av无码网站性色av| 一级全黄肉体裸体全过程| 日日狠狠久久偷偷综合色| 欧美体内she精视频在线观看| 国产999精品久久| 手机亚洲第一页| 欧美年轻男男videosbes| 日韩久久精品电影| 国产精品不卡av| 少妇一级淫免费放| 亚洲精品狠狠操| 国产高潮国产高潮久久久91| 日本在线观看网站| 成人亚洲精品| 一区二区三区日韩欧美精品| 欧美国产日韩在线播放| 久久精品视频久久| 四虎影视最新地址| 色网视频在线| 欧美极品jizzhd欧美| 亚洲啊啊啊啊啊| 国产女主播在线| 韩国av电影在线观看| 亚洲成成品网站| 国产一二三四在线视频| 日韩欧美一区二区三区四区| 四季av一区二区凹凸精品| 国产精品538一区二区在线| 久久精品免费av| 春意影院普通入口| h网站在线免费观看| 一区二区福利视频| 91极品女神私人尤物在线播放| 激情图片中文字幕| 久久综合伊人77777麻豆| 99热国产精品| 精品久久一区二区三区蜜桃| 亚洲成a人片在线www| 制服丝袜中文字幕在线| 欧美精品一区二区三区久久久| 无码一区二区精品| 亚洲精品一区二区三区精华液| 国产精品视频观看| 日韩精品日韩在线观看| 日本激情视频网| 国产极品在线视频| 国产欧美日韩激情| 色域天天综合网| 国产在线一级片| 日日干夜夜爽| 国产精品精品视频一区二区三区| 伊人免费在线| 中文字幕欧美激情| 日日噜噜噜噜夜夜爽亚洲精品| 日韩精品在线电影| 午夜精品免费看| 91国偷自产一区二区开放时间| 黄色三及免费看| 精品视频三区| 日韩一级片免费观看| www.亚洲高清| 国产精品乱战久久久| 日本成人看片网址| 亚洲伦理影院| 国产精品视频一区二区三区四区五区| 三年中国中文观看免费播放| 性色一区二区三区| 精品伦精品一区二区三区视频| 狠狠干在线视频| 中文字幕一精品亚洲无线一区| 嫩草嫩草嫩草| 国产精品一区牛牛影视| 欧美顶级少妇做爰| 麻豆影视在线观看| 日本亚洲一区二区三区| 欧美精品videos极品| 中文字幕不卡一区| 欧美激情女人20p| 国产美女在线精品免费观看| 免费视频一区二区三区在线观看| 99视频精品全部免费在线视频| 欧美日韩99| 亚洲一区三区电影在线观看| 奇米一区二区三区av| 婷婷综合久久一区二区三区| 日韩经典中文字幕一区| 亚洲天堂av一区二区三区| va中文字幕| 中国特级黄色片| 超碰在线无需免费| 日本少妇全体裸体洗澡| 国内精品久久久久国产| 国产精品一区二区在线观看| 精品国产伦一区二区三区免费| 中文字幕第21页| 狠狠入ady亚洲精品经典电影| 精品樱空桃一区二区三区| 国产精品9999久久久久仙踪林| 欧美激情手机在线视频| 男人午夜影院| 最近中文字幕在线观看视频| 亚洲xxx在线观看| 亚洲视频香蕉人妖| 麻豆免费版在线观看| av在线不卡免费| 色播在线视频| 欧美精品国产精品| 精品黄色一级片| 国产成人av影视| 在线免费国产| 伊人久久大香线蕉av不卡| 波多野结衣成人在线| 91一区二区三区在线播放| 久久精品中文| 日韩乱码一区二区三区| 国产精品久久精品牛牛影视| 欧美熟妇精品一区二区| 中文 欧美 日韩| 极品久久久久久久| 久久在线视频免费观看| 欧美日韩一区久久| 五月花成人网| 91黄色激情网站| а√天堂资源在线| 免费看大片爽| 国产精品极品国产中出| 男人的j进女人的j一区| 嗯用力啊快一点好舒服小柔久久| 新天堂中文资源官网在线观看| 精品不卡一区二区三区| 天天爱天天做色综合| 亚洲国产一区二区三区在线观看| ts人妖交友网站| 久久精品国产视频|