1

これを入力すると:

CREATE DATABASE AdventureWorks2012
ON (FILENAME = 'C:\Users\sohm\Desktop\Pohm\AdventureWorks2012_Data.mdf')
FOR ATTACH_REBUILD_LOG ;

私はこれを得る:

ファイルのアクティブ化に失敗しました。物理ファイル名「C:\Users\sohm\Desktop\AdventureWorks2012_Data_log.ldf」が間違っている可能性があります。
メッセージ 5123、レベル 16、状態 1、行 1
物理ファイル 'C:\adventuredb\AdventureWorks2012_Data_log.ldf' を開くか作成しようとしているときに、CREATE FILE でオペレーティング システム エラー 5 (アクセスが拒否されました) が発生しました。
メッセージ 1813、レベル 16、状態 2、行 1
新しいデータベース 'AdventureWorks2012' を開けませんでした。CREATE DATABASE は中止されます。

私はそれが許可に関係していることを知っています。管理者アカウントを持っています。100 万件の投稿を読みましたが、これまでのところ何も機能していません。また、mdf ファイルを含むフォルダーをフル コントロールに変更しようとすると、読み取り専用に戻り続けます。

4

7 に答える 7

10

管理者として SSMS を実行する必要があります。
また、「sa」ユーザー (SQL サーバー認証) としてクエリを実行している可能性もあります。
Windows 認証でクエリを実行してみてください。

于 2013-08-20T17:00:53.703 に答える
3

短縮版

MS SQL Server 2012 がデータベース ファイルをアタッチできるようにするには、mdf および ldf ファイルへのフル アクセスを許可する必要があります。

NT サービス\MSSQLSERVER

全権アクセス

ロングバージョン

SQL セキュリティは、2012 年のファイル処理で大幅に更新されました。 http://technet.microsoft.com/en-us/library/ms189128.aspx

既存のアタッチされたデータベースとそこにあるセキュリティを確認すると、フル アクセスが許可されているロールが 2 つしかないことがわかるでしょう。MSSQLSERVERおよびAdministrators、接続されている場合 SQL ファイルから他のすべてのロールを削除します。

ファイル セキュリティのアクセス許可から MSSQLSERVER を設定しようとしても機能しません。

services.msc の概要を見ると、既定のインストールでは、NT Service\MSSQLSERVER も SQL サーバー サービスを実行していることがわかります。

サービス アカウントは表示されません。IIS AppPools と同じ問題です。サブ グループがシステムによって作成され、自動検出からアカウントを「隠し」、おそらくアカウントを保護しようとしますが、私の見解ではセットアップがわかりにくくなっています。

よろしく
ヤン

于 2013-09-13T06:57:37.830 に答える
2

管理者モードで SQL Server Management Stdio を開きます (右クリック -> [管理者として実行] を選択します。ユーザー名とパスワードを求められた場合は、管理者ユーザー名のパスワードを入力します)。次に、[Windows 認証] を選択し、[OK] をクリックして、接続を試みますが、エラーは発生しません。

于 2015-01-17T10:05:25.717 に答える
1

これはあなたのアカウントとは何の関係もありません。SQL Serverは、SQLServerを実行しているサービスアカウントのコンテキストでそのフォルダーに書き込もうとしています。これが誰であるかを確認するには、サービスアプレットに移動し、インスタンスが誰として実行されているかを確認します(おそらくNT AUTHORITY \ SYSTEMなど)。これをオーバーライドするか、MDFファイルをC:\ドライブの別の場所に配置する代わりに、SQLServerが既に固有のアクセス権を持っているデータフォルダーに配置することができます。

于 2013-02-20T21:22:27.427 に答える
0

理解した。SQL Server 構成マネージャーに移動し、SQL Server サービスを右クリックしました。次に、Windows 管理者アカウントを追加してサービスを実行したところ、機能するようになりました。

于 2013-02-20T21:27:52.183 に答える