2008-11-23 32 views
19

所以我已经习惯了PHPMySQL在那里,如果我想要一个表从一个数据库转移到另一个,我:如何简单地为表和数据生成CREATE SQL脚本?

  • 去表
  • 单击“导出”
  • CTRL-C
  • 转到其他数据库,SQL插入,CTRL-V

在MS SQL Server 2008 Express的,我尝试:

  • 单击鼠标右键,脚本表作为,创造
    • 但这只是给我的CREATE TABLE SQL,而不是INSERT INTO SQL
  • 单击鼠标右键,脚本表作为,接入到
    • 这给了我INSERT到SQL,但假设我要填的数据(!)
  • 所以我火了SQL Server 2008 Express的导入/导出数据向导,但它似乎并没有给我简单的CREATE/INSERT INTO脚本,我想要的。 :-(

所以,我怎么能得到一个表的一个简单的SQL转储在MS SQL Server 2008 Express的,在那种PHPMySQL给我:

-- phpMyAdmin SQL Dump 
-- version 2.11.9.2 
-- http://www.phpmyadmin.net 
-- 
-- Host: localhost 
-- Generation Time: Nov 23, 2008 at 03:34 PM 
-- Server version: 5.0.67 
-- PHP Version: 5.2.6 

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"; 

-- 
-- Database: `test` 
-- 

-- -------------------------------------------------------- 

-- 
-- Table structure for table `members` 
-- 

CREATE TABLE IF NOT EXISTS `members` (
    `id` int(11) NOT NULL auto_increment, 
    `firstName` varchar(50) collate latin1_general_ci NOT NULL, 
    `lastName` varchar(50) collate latin1_general_ci NOT NULL, 
    `age` int(11) NOT NULL, 
    PRIMARY KEY (`id`) 
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=4 ; 

-- 
-- Dumping data for table `members` 
-- 

INSERT INTO `members` (`id`, `firstName`, `lastName`, `age`) VALUES 
(1, 'Jim', 'Taylor', 34), 
(2, 'John', 'McGregor', 23), 
(3, 'Alice', 'Anderson', 33); 
+1

我不能相信SQL Server不具有此功能.. – 2012-10-12 17:28:01

回答

59

从SQL Server Management Studio中你可以右键点击你的数据库并选择:

任务 - >生成脚本 - 下一页 - >您从列表中需要选择对象 - >点击先进的 然后只需通过向导。当系统提示您选择脚本选项时,请确保将“脚本数据”设置为TRUE。

SQL Server 2008的

enter image description here

SQL Server 2008 R2的

enter image description here

延伸阅读:

罗伯特·伯克:SQL Server 2005中 - 脚本编写数据库

从堆栈溢出措施: How to get script of SQL Server data?

+1

这应该被标记为答案。没有扩展或付费附加需要。适当地完成了工作。 – Exzile 2016-11-18 15:16:54

相关问题