我正在研究明天必须上交的项目。对于这个项目,我使用在远程服务器上运行的SQL Server Express数据库。
现在,我需要从远程数据库生成.mdf
文件。我到处搜索,我找不到合适的解决方案。
我已将数据库编写为.sql
文件的脚本,但我找不到针对本地.mdf
文件执行它的方法。要么我可以创建一个无效的.sdf
,要么连接到数据库引擎。
非常感谢帮助!
答案 0 :(得分:1)
.mdf
是SQL Server的数据文件格式。
所以你需要这些步骤:
.sql
脚本现在,完成所有步骤后,您可以将生成的.mdf
文件从SQL Server数据目录复制到其他位置。
答案 1 :(得分: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脚本来创建表格并用数据填充它们 在此之后,您有两个选择。
(当然这假设两个SqlServer使用相同的版本)