PowerShell使用 invoke-sqlcmd 连行脚本文件,并向脚本文件存入参数

原文 http://stackoverflow.com/questions/16654866/invoke-sqlcmd-inputfile-and-variable

Init.ps1

$DATABASEFILENAME = "C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQL2008INSTANCE\MSSQL\DATA\myDB.mdf"
$DATABASELOGNAME = "C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQL2008INSTANCE\MSSQL\DATA\myDB_log.ldf"
$DBUSEROWNER = "domain\spsetup"

CreateDatabase.ps1

try {
        $createDatabaseScript = ($scriptsFolder,$eachRelease,$DeployEnvironment,"Config" -join "\") + "\JM SiteRequest Database.sql"
        $sqlVariable = "DATABASEFILENAME=$DATABASEFILENAME", "DATABASELOGNAME=$DATABASELOGNAME", "DBUSEROWNER=$DBUSEROWNER"
        Invoke-Sqlcmd -ServerInstance "$MySQLServer" -InputFile "$createDatabaseScript" -ErrorAction Stop -Variable $sqlVariable
}
catch [Exception] {
        Write-Error "Database error: $_.Exception"
}

$sqlVariable
对参数声名很挑剔。变量之前或之后不能有空格。

注意 $sqlVariable 里变量前后不能有空格

SQL script

CREATE DATABASE [SiteRequestDB] ON  PRIMARY
( NAME = N'SiteRequestDB', FILENAME = N'$(DATABASEFILENAME)' , SIZE = 3072KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB ) LOG ON
( NAME = N'SiteRequestDB_log', FILENAME = N'$(DATABASELOGNAME)' , SIZE = 1024KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)
GO

在sql脚本中对$sqlVariable 中变量调用方式 $(变量名)

时间: 2024-12-20 17:24:12

PowerShell使用 invoke-sqlcmd 连行脚本文件,并向脚本文件存入参数的相关文章

wordpress主题制作:引入外部CSS样式文件和JS脚本文件

wordpress不建议修改模板文件header.php引入样式文件和JS文件,建议通过wp_head()和wp_footer()函数引入相关的内容. 一.显示标题 二.通过'wp_enqueue_scripts'引入scripts and styles 三.通过add_action()的"wp_head"钩子 以2019主题为例,在functons.php中相关的代码: 一.显示标题 在twentynineteen_setup()中, add_theme_support( 'titl

wordpress主题制作:引入外部CSS样式文件和JS脚本文件(2)-要不要注册样式表(未完待续)

注册和排队样式表 添加动态内联样式:wp_add_inline_style() 检查样式表的排队状态:wp_style_is() 注销样式文件:wp_deregister_style() wp_dequeue_style() 三个动作钩子 wp_enqueue_scripts 用来在网站前台加载脚本和CSSadmin_enqueue_scripts 用来在后台加载脚本和CSSlogin_enqueue_scripts 用来在WP登录页面加载脚本和CSS 原文地址:https://www.cnbl

Oracle使用超大SQL脚本文件恢复数据问题记录

在以前获取的Oracle数据库备份一般都是dmp文件,创建表空间和用户就直接使用imp或者impdp导入即可. 这一次遇到的情况比较特殊,对方提供数据时给我的是使用SQLPlus导出的SQL脚本文件,是Linux系统中导出的,因为很难让对方再次提供数据,因此只有用这个来导入数据.导入速度慢不说,还挺麻烦,不过没办法,问题总得解决. 在这个过程中遇到两大问题: 1. SQL脚本文件太大(超过1G),Windows上看不了内容,不知道怎么导入到数据库中. 一般SQLPlus执行SQL脚本文件倒是容易

MSSQL执行大脚本文件时,提示“内存不足”的解决办法

导出了一个脚本文件,将近900M,回来往sql studio一丢,报了个内存不足,然后就有了此文.. 问题描述: 当客户服务器不允许直接备份时,往往通过导出数据库脚本的方式来部署-还原数据库, 但是当数据库导出脚本很大,用Microsoft SQL Server Management Studio执行脚本时,往往会遇到"内存不足"的提示. 解决办法: 用微软自带的sqlcmd工具,可以导入执行.以SQL Server 2008R版本为例: 第一步:Win+R 键入:cmd 命令,开启命

MS SQL2008执行大脚本文件时,提示“内存不足”的解决办法

问题描述: 当客户服务器不允许直接备份时,往往通过导出数据库脚本的方式来部署-还原数据库, 但是当数据库导出脚本很大,用Microsoft SQL Server Management Studio执行脚本时,往往会遇到“内存不足”的提示. 解决办法: 用微软自带的sqlcmd工具,可以导入执行.以SQL Server 2008R版本为例: 第一步:Win+R 键入:cmd 命令,开启命令行工具: 第二步:键入:cd C:\Program Files\Microsoft SQL Server\10

Android开发学习---android下的数据持久化,保存数据到rom文件,android_data目录下文件访问的权限控制

一.需求 做一个类似QQ登录似的app,将数据写到ROM文件里,并对数据进行回显. 二.截图 登录界面: 文件浏览器,查看文件的保存路径:/data/data/com.amos.datasave/files/LoginTest.txt------/data/data/(包名)/files/(文件名) 导出的文件内容: 三.实现代码 新建一个Android 工程.这里我选择的是2.1即API 7,进行开发的,其它都是默认下一步下一步即可. /datasave/res/layout/activity

SQL SERVER 2008R2 执行大脚本文件时,提示“内存不足”的解决办法

我把一个数据库的架构及数据都已脚本的方式拷贝下来,再去新建一个数据库想把脚本执行一下,但提示如下错误: 问题描述: 当客户服务器不允许直接备份时,往往通过导出数据库脚本的方式来部署-还原数据库, 但是当数据库导出脚本很大,用Microsoft SQL Server Management Studio执行脚本时,往往会遇到"内存不足"的提示. 解决办法: 用微软自带的sqlcmd工具,可以导入执行.以SQL Server 2008R版本为例: 第一步:Win+R 键入:cmd 命令,开启

MS SQL执行大脚本文件时,提示“未能完成操作,存储空间不足,无法处理此命令”的解决办法

问题描述: 当客户服务器不允许直接备份时,往往通过导出数据库脚本的方式来部署-还原数据库, 但是当数据库导出脚本很大,用Microsoft SQL Server Management Studio执行脚本时,往往会遇到"内存不足"的提示. 解决办法: 用微软自带的sqlcmd工具,可以导入执行.以SQL Server 2008R版本为例: 第一步:Win+R 键入:cmd 命令,开启命令行工具: 第二步:键入:cd C:\Program Files\Microsoft SQL Serv

MS SQL SERVER执行大脚本文件时,提示“内存不足”的解决办法

问题描述: 当客户服务器不允许直接备份时,往往通过导出数据库脚本的方式来部署-还原数据库, 但是当数据库导出脚本很大,用Microsoft SQL Server Management Studio执行脚本时,往往会遇到“内存不足”的提示. 解决办法: 用微软自带的sqlcmd工具,可以导入执行.以SQL Server 2008 R2版本为例: 第一步:Win+R 键入:cmd 命令,开启命令行工具: 第二步:键入:cd C:\Program Files\Microsoft SQL Server\

sql2005还原超长sql脚本,还原超大脚本文件

原文:sql2005还原超长sql脚本,还原超大脚本文件 从外网把数据库用导出脚本的方式导出来了,280M的样子,导是导出来了,但是在本机执行sql脚本的时候,直接就是out of memory,之前执行60M的脚本没出过这问题,直接双击打开.sql脚本文件,然后执行就完了,现在主要是这文件太大了,280M,就报错了,后面不停的google,终于找到答案了,使用sqlcmd命令,可完成这一工作,具体请看微软的说明, 看下面截图: 上面这个PANDERMAN\SA是我直接从数据库的服务器名上cop