我試圖在Truecrypt捲上創建MS SQL Server數據庫。我需要我的系統具有以下屬性:如果未裝入Truecrypt卷,則無法訪問數據庫或數據庫日誌文件中的數據。我正在做以下創建數據庫:在MS SQL Server中使用truecrypt
CREATE DATABASE test1 CONTAINMENT=PARTIAL ON (NAME='test1_data', FILENAME='D:\SqlData') LOG ON (NAME='test1_log', FILENAME='D:\SQLDataLog');
go
其中D:是我安裝的Trucrypt卷。這似乎工作正常,因爲它創建指定的文件和可用的數據庫。但是,我不確定它實際上是否安全。我認爲它將數據存儲在D:卷以外的某個位置。我能做到以下幾點:
use test1;
go
CREATE TABLE Persons (ID int, name varchar(255));
go
INSERT INTO Persons VALUES (1, 'Jason');
go
然後關閉我的數據庫客戶端卸載卷,重新打開客戶端(SQLCMD),然後執行:
use test1;
go
SELECT * FROM Persons;
go
,我得到我把數據很明顯。這意味着在Truecrypt卷之外有一些存儲發生。我是否做錯了什麼,誤解了什麼,或者我正在嘗試做什麼,但對MS SQL Server不可行?
我會認爲truecrypt會抱怨很多讓你關閉卷如果SQL Server正在打開文件。你確定它真的沒有安裝? –
@DigitalChris它抱怨並問我是否想強制卸載。我告訴它強制卸載,它似乎已經卸載。 D:卷在Truecrypt或文件瀏覽器中不可見。 – jcrudy
運行這個來驗證你的文件真的在哪裏'USE Test1 SELECT name,filename FROM sys.sysfiles' – 2014-03-24 18:25:53