-1

私は明日提出しなければならないプロジェクトに取り組んでいます。このプロジェクトでは、リモート サーバーで実行されている SQL Server Express データベースを使用します。

.mdfここで、リモート データベースからファイルを生成する必要があります。どこでも検索しましたが、適切な解決策が見つかりません。

データベースをファイルにスクリプト化しましたが、ローカルファイル.sqlに対して実行する方法が見つかりません。.mdf動作しないを作成するか.sdf、データベース エンジンに接続できます。

助けていただければ幸いです。

4

2 に答える 2

1

.mdfSQL Server のデータファイル形式です。

したがって、次の手順が必要です。

  1. ローカル サーバーに接続する
  2. 新しいデータベースを作成する
  3. .sqlそれに対してスクリプトを実行します
  4. そのデータベースを切り離します

すべての手順が完了したら、結果の.mdfファイルを SQL Server データ ディレクトリから別の場所にコピーできます。

于 2012-12-19T16:33:08.483 に答える
0

いいえ、リモート データベースから MDF ファイルを生成することはできません。
次のようなスクリプトを使用して、ローカル データベースを作成できます。

CREATE DATABASE [test_db] ON  PRIMARY 
( NAME = N'test_db', FILENAME = N'D:\MSSQL\test_db.mdf' , SIZE = 3072KB , FILEGROWTH = 1024KB )
 LOG ON 
( NAME = N'test_db_log', FILENAME = N'D:\MSSQL\test_db_log.ldf' , SIZE = 1024KB , FILEGROWTH = 10%)
GO
ALTER DATABASE [test_db] SET COMPATIBILITY_LEVEL = 100
GO
ALTER DATABASE [test_db] SET ANSI_NULL_DEFAULT OFF 
GO
ALTER DATABASE [test_db] SET ANSI_NULLS OFF 
GO
ALTER DATABASE [test_db] SET ANSI_PADDING OFF 
GO
ALTER DATABASE [test_db] SET ANSI_WARNINGS OFF 
GO
ALTER DATABASE [test_db] SET ARITHABORT OFF 
GO
ALTER DATABASE [test_db] SET AUTO_CLOSE OFF 
GO
ALTER DATABASE [test_db] SET AUTO_CREATE_STATISTICS ON 
GO
ALTER DATABASE [test_db] SET AUTO_SHRINK OFF 
GO
ALTER DATABASE [test_db] SET AUTO_UPDATE_STATISTICS ON 
GO
ALTER DATABASE [test_db] SET CURSOR_CLOSE_ON_COMMIT OFF 
GO
ALTER DATABASE [test_db] SET CURSOR_DEFAULT  GLOBAL 
GO
ALTER DATABASE [test_db] SET CONCAT_NULL_YIELDS_NULL OFF 
GO
ALTER DATABASE [test_db] SET NUMERIC_ROUNDABORT OFF 
GO
ALTER DATABASE [test_db] SET QUOTED_IDENTIFIER OFF 
GO
ALTER DATABASE [test_db] SET RECURSIVE_TRIGGERS OFF 
GO
ALTER DATABASE [test_db] SET  DISABLE_BROKER 
GO
ALTER DATABASE [test_db] SET AUTO_UPDATE_STATISTICS_ASYNC OFF 
GO
ALTER DATABASE [test_db] SET DATE_CORRELATION_OPTIMIZATION OFF 
GO
ALTER DATABASE [test_db] SET PARAMETERIZATION SIMPLE 
GO
ALTER DATABASE [test_db] SET  READ_WRITE 
GO
ALTER DATABASE [test_db] SET RECOVERY FULL 
GO
ALTER DATABASE [test_db] SET  MULTI_USER 
GO
ALTER DATABASE [test_db] SET PAGE_VERIFY CHECKSUM  
GO
USE [test_db]
GO
IF NOT EXISTS (SELECT name FROM sys.filegroups WHERE is_default=1 AND name = N'PRIMARY') ALTER DATABASE [test_db] MODIFY FILEGROUP [PRIMARY] DEFAULT
GO

次に、SQL スクリプトを実行してテーブルを作成し、データを入力します。
この後、2 つのオプションがあります。

  • お客様のマシンで手順を繰り返します
  • データベースを切り離し、MDF および LDF ファイルを顧客に提供してから、再接続を試みます。

(もちろん、これは 2 つの SqlServer が同じバージョンを使用していることを前提としています)

于 2012-12-19T16:34:10.817 に答える