我们有敏感信息(人名),我们正在寻找一个脚本来“清理”这些人名。有没有人想出一个很好的算法来做到这一点,而不是让所有姓氏都变成“TEST”之类的?
谢谢。
使用 Sql Server 2012,有人可以向我展示一个简单的 powershell 3 脚本来生成我的整个数据库(架构和数据)吗?
我试过这个:
$Filepath='d:\b\t' # local directory to save build-scripts to
$DataSource='HH' # server name and instance
$Database='HMovies'# the database to copy from
# set "Option Explicit" to catch subtle errors
set-psdebug -strict
$ErrorActionPreference = "stop" # you can opt to stagger on, bleeding, if an error occurs
# Load SMO assembly, and if we're running SQL 2008 DLLs load the SMOExtended and SQLWMIManagement libraries
$ms='Microsoft.SqlServer'
$v = [System.Reflection.Assembly]::LoadWithPartialName( "$ms.SMO")
if ((($v.FullName.Split(','))[1].Split('='))[1].Split('.')[0] -ne '9') { …Run Code Online (Sandbox Code Playgroud) 我希望将 mongodump 运行到辅助(不是主)。所以我需要作为输出主机名和一个辅助端口。
# ./mongo -udbadm admin --port 27100 -p --quiet --eval "printjson(rs.status().members.map(function(m) { return {'name':m.name, 'stateStr':m.stateStr} }))"
Enter password:
[
{
"name" : "example-1.domain:27200",
"stateStr" : "SECONDARY"
},
{
"name" : "example-2.domain:27200",
"stateStr" : "PRIMARY"
},
{
"name" : "example-3.domain:27200",
"stateStr" : "SECONDARY"
}
]
Run Code Online (Sandbox Code Playgroud)
使用 shell 脚本工具,我可以毫无问题地提取带有主机名和端口的辅助设备。我的问题是如何以 MongoDB 方式完成这项工作?您推荐我什么工具?我听说这jq对于 JSON 数据更好。但不知道如何仅提取一个辅助主机。
我正在尝试建立这个答案如何运行包含许多插入的大型脚本而不会耗尽内存?
而分手的查询与较小的BEGIN TRANSACTION,然后GO的
BEGIN TRANSACTION;
MERGE ghcnd.dbo.us_APCP as target
using
(values
('US1CASN0123','2018-03-22','--N','251'),
('US1KSGO0013','2018-03-22','--N','41'),
('US1WYFM0039','2018-03-22','--N','0'),
('US1SCCF0008','2018-03-22','--N','10'))
as source(cell,[date],valueFlag,[value])
on target.cell = source.cell
AND target.date = source.date
when matched then
update
set valueFlag = source.valueFlag ,
value = source.value
when not matched then
insert (cell,[date],valueFlag,[value])
values (cell,[date],valueFlag,[value])
COMMIT TRANSACTION; GO
Run Code Online (Sandbox Code Playgroud)
但是我收到这个错误
消息 102,级别 15,状态 1,第 3 行 ')' 附近的语法不正确。消息 102,级别 15,状态 1,第 3 行“GO”附近的语法不正确。
我将如何在 SQL Express 上运行 Ola Halengren 的 sql 维护计划的各个方面?
我的理解是每个作业都应该按特定顺序运行。我确信 .bat 或 cmd 文件可以做到这一点,但不确定从哪里/如何开始。SQL Express 不显示服务器代理,因此不显示作业。
我可以以另一种方式查看它们并仍然使用调度程序,还是必须编写脚本?我是否必须从任务计划程序运行它,或者 SQL 代理计划程序可以处理这个问题?非常感谢您可以提供的任何帮助/方向。
附带说明一下,我还想知道是否可以安排作业在另一个作业完成后运行,而不是指定运行作业的时间?
sql-server scripting sql-server-express maintenance-plans ola-hallengren
我可以 使用以下任一脚本获取所有表类型的名称和定义:
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
IF OBJECT_ID('TEMPDB..#RADHE') IS NOT NULL
DROP TABLE #RADHE
CREATE TABLE #RADHE
(
RADHE SYSNAME,
COLUMN_NAME SYSNAME,
TYPE_COLUMN SYSNAME,
PRIMARY KEY CLUSTERED (RADHE,COLUMN_NAME)
)
DECLARE @sql nvarchar(max) = N'',
@stub nvarchar(max) = N'SELECT [RADHE]=N''$--RADHE--$'',
COLUMN_NAME=name, TYPE_COLUMN=system_type_name
FROM sys.dm_exec_describe_first_result_set(''DECLARE
@tvp $--RADHE--$; SELECT * FROM @tvp;'',null,null)
ORDER BY column_ordinal;';
SELECT @sql += REPLACE(@stub, N'$--RADHE--$',
QUOTENAME(s.name) + N'.' + QUOTENAME(t.name))
FROM sys.table_types AS t
INNER JOIN sys.schemas AS s
ON t.[schema_id] = s.[schema_id];
INSERT …Run Code Online (Sandbox Code Playgroud) sql-server scripting sql-server-2016 user-defined-table-type automation
我对以下输出有疑问:
[nikola@192 ~] $ sudo su - postgres
[postgres@192 ~] $ psql dvdrental postgres
psql: /usr/pgsql-11/lib/libpq.so.5: no version information available (required by psql)
psql: /usr/pgsql-11/lib/libpq.so.5: no version information available (required by psql)
psql (11.7, server 11.8)
Type "help" for help.
dvdrental=#
Run Code Online (Sandbox Code Playgroud)
以下两条消息代表什么,为什么?我正在询问的消息:
psql: /usr/pgsql-11/lib/libpq.so.5: no version information available (required by psql)psql (11.7, server 11.8)-顺便说一句,这个psql --version命令我获得以下的输出:
psql (PostgreSQL) 11.8(必须安装才能执行的命令,比如PostgreSQL服务器版本11.7\dt和\l)......并输出如下:Run Code Online (Sandbox Code Playgroud)postgres=# select * FROM version(); version -------------------------------------------------------------------------------------------------------- PostgreSQL 11.8 on x86_64-pc-linux-gnu, …
我正在为开发设置测试环境,需要从生产中的表中导出一些静态数据。理想情况下,导出的产品将采用脚本的形式,其中包含所有必需的INSERT语句。这样做,我可以在每次测试后快速重置开发环境。
谁能告诉如何使用 SQL Server 2008、SQL Management Studio 和/或 Visual Studio 2010 完成此操作?
注意:所有表都没有外键,我在源数据库中拥有完全权限,每张表的行数不超过几十行。
我知道有很多与此类似的问题,但似乎没有一个对我的问题有明确的答案,所以这就是我发布此内容的原因......我希望在正确的地方。
问题:
我有一个脚本,/etc/cron.daily其中执行每日数据库备份等。只要将密码硬编码到mysqldump命令的脚本中,它就可以正常工作。
#!/bin/sh
$ mysqldump -u [uname] -p[pass] db_name > db_backup.sql
Run Code Online (Sandbox Code Playgroud)
但是,不想在脚本中使用密码,我设置了~/.my.cnf文件 (chmod 600),其中存储了我的用户密码,因此mysqldump脚本中的命令将是无密码的。
~/.my.cnf
[mysqldump]
password="pass"
Run Code Online (Sandbox Code Playgroud)
#!/bin/sh
$ mysqldump -u [uname] db_name > db_backup.sql
Run Code Online (Sandbox Code Playgroud)
当我以 root 身份从命令行手动运行这个新脚本时,它就像一个魅力。
sudo sh /etc/cron.daily/daily-backup-script
Run Code Online (Sandbox Code Playgroud)
但是当cron想要运行它时,它无法转储数据库,并出现以下错误:
mysqldump: Got error: 1045: Access denied for user 'user'@'localhost' (using password: NO) when trying to connect.
Run Code Online (Sandbox Code Playgroud)
所以,我认为cron没有相应的权限才能执行密码的mysqldymp脚本命令中,用密码放在~/.my.cnf,但是脚本和密码的mysqldump命令它是从完美用命令行工作sudo。
迄今为止的努力:
sudo中的mysqldump命令前面尝试过。sudo -u …这一定是我在这里问过的最愚蠢的问题之一,但是我的 SQL 脚本中肯定隐藏着一些非常恶心的问题,阻止它运行。
我正在使用以下示例 CLI 语法调用 cobertura.sql 文件:
psql -h localhost -U myUser -f cobertura.sql myDB
Run Code Online (Sandbox Code Playgroud)
但它抱怨以下错误:
Run Code Online (Sandbox Code Playgroud)psql:cobertura.sql:29: ERROR: "sql " is not a known variable LINE 14: sql := format('insert into cobertura_tmp select count(*) as ... cobertura.sql file:
DO language plpgsql $$
declare
eq record;
sql varchar;
BEGIN
create table if not exists cobertura_tmp (num integer, realtime char(1), lat numeric, lng numeric);
truncate table cobertura_tmp;
for eq in select imei_equipo as imei from cliente_avl_equipo where id_cliente in (select id …Run Code Online (Sandbox Code Playgroud) scripting ×10
sql-server ×5
postgresql ×2
automation ×1
backup ×1
bash ×1
cron ×1
merge ×1
mongodb ×1
my.cnf ×1
mysqldump ×1
password ×1
plpgsql ×1
powershell ×1
psql ×1
unicode ×1