首页
关于
Search
1
LXC中Alpine模板安装Docker
16 阅读
2
Debian 12 / Ubuntu 22.04 安装 Docker 以及 Docker Compose 教程
14 阅读
3
netclient docker compose
12 阅读
4
Netmaker安装
11 阅读
5
PVE 引入img文件作为虚拟机磁盘
10 阅读
默认分类
PVE虚拟机
数据库
容器技术
Linux
登录
Search
标签搜索
SQLSERVER
学习笔记
累计撰写
31
篇文章
累计收到
1
条评论
首页
栏目
默认分类
PVE虚拟机
数据库
容器技术
Linux
页面
关于
搜索到
31
篇与
的结果
2024-02-27
Docker版sqlserver导入数据库备份文件恢复数据库
命令行进入sql server docker容器docker exec -it sqlserver "bash"`使用容器自带的sqlcmd命令登录数据库/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "<YourNewStrong@Passw0rd>"如果成功,应会显示 sqlcmd 命令提示符:1>在 >1 提示符下,输入以下 RESTORE DATABASE 命令,并在每行后按 Enter(无法同时复制和粘贴整个多行命令)。 将出现的所有 YourDB 替换为数据库的名称。RESTORE DATABASE YourDB FROM DISK = '/var/opt/mssql/data/YourDB.bak' WITH MOVE 'YourDB' TO '/var/opt/mssql/data/YourDB.mdf', MOVE 'YourDB_Log' TO '/var/opt/mssql/data/YourDB_Log.ldf' GO参考链接:https://learn.microsoft.com/zh-CN/sql/linux/sql-server-linux-migrate-restore-database?view=sql-server-ver16https://learn.microsoft.com/zh-CN/sql/linux/quickstart-install-connect-docker?view=sql-server-ver15&pivots=cs1-bash
2024年02月27日
1 阅读
0 评论
0 点赞
2024-02-27
SQL Server查询所有数据库名、表名、字段类型
1、查询所有数据库select * from sysdatabases;2、查询当前数据库中所有表名select * from sysobjects where xtype='U';xtype='U':表示所有用户表,xtype='S':表示所有系统表。3、查询指定表中的所有字段名select name from syscolumns where id=Object_Id('table_name');4、查询指定表中的所有字段名和字段类型select sc.name,st.name from syscolumns sc,systypes st where sc.xtype=st.xtype and sc.id in(select id from sysobjects where xtype='U' and name='table_name');
2024年02月27日
1 阅读
0 评论
0 点赞
2024-02-27
MarkDown 支持高亮显示的语言
支持的语言:1c, abnf, accesslog, actionscript, ada, apache, applescript, arduino, armasm, asciidoc, aspectj, autohotkey, autoit, avrasm, awk, axapta, bash, basic, bnf, brainfuck, cal, capnproto, ceylon, clean, clojure, clojure-repl, cmake, coffeescript, coq, cos, cpp, crmsh, crystal, cs, csp, css, d, dart, delphi, diff, django, dns, dockerfile, dos, dsconfig, dts, dust, ebnf, elixir, elm, erb, erlang, erlang-repl, excel, fix, flix, fortran, fsharp, gams, gauss, gcode, gherkin, glsl, go, golo, gradle, groovy, haml, handlebars, haskell, haxe, hsp, htmlbars, http, hy, inform7, ini, irpf90, java, javascript, json, julia, kotlin, lasso, ldif, leaf, less, lisp, livecodeserver, livescript, llvm, lsl, lua, makefile, markdown, mathematica, matlab, maxima, mel, mercury, mipsasm, mizar, mojolicious, monkey, moonscript, n1ql, nginx, nimrod, nix, nsis, objectivec, ocaml, openscad, oxygene, parser3, perl, pf, php, pony, powershell, processing, profile, prolog, protobuf, puppet, purebasic, python, q, qml, r, rib, roboconf, rsl, ruby, ruleslanguage, rust, scala, scheme, scilab, scss, smali, smalltalk, sml, sqf, sql, stan, stata, step21, stylus, subunit, swift, taggerscript, tap, tcl, tex, thrift, tp, twig, typescript, vala, vbnet, vbscript, vbscript-html, verilog, vhdl, vim, x86asm, xl, xml, xquery, yaml, zephir名称关键字调用的js说明AppleScriptapplescriptshBrushAppleScript.js ActionScript 3.0actionscript3 , as3shBrushAS3.js 作者:oopp8链接:https://www.jianshu.com/p/c2b75ff24c33MarkDown
2024年02月27日
0 阅读
0 评论
0 点赞
2024-02-27
SQL Server Linux 容器用户权限
MS源链接以根用户的身份运行非根容器如有必要,可以以根用户身份运行非根容器,这也会自动向容器授予所有文件权限,因为它具有更高的特权。docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=MyStrongPassword" -u 0:0 -p 1433:1433 -d mcr.microsoft.com/mssql/server:2019-latest以其他用户和组的身份运行确保 SQL Server 容器具有命名用户,如 mssql 或 root,否则 sqlcmd 将无法在容器中运行。 可通过在容器中运行 whoami 来检查是否以命名用户的身份运行 SQL Server 容器。可使用自定义用户和组启动 SQL Server。 在此示例中,已装载的卷具有为主机计算机上的用户或组配置的权限。docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=MyStrongPassword" --cap-add SYS_PTRACE -u $(id -u myusername):$(id -g myusername) -v /path/to/mssql:/var/opt/mssql -p 1433:1433 -d mcr.microsoft.com/mssql/server:2019-latest在主机计算机上以用户的身份运行可使用以下命令在主机计算机上以现有用户身份启动 SQL Server:非根 SQL Server 容器需要 --cap-add SYS_PTRACE 标志来生成用于排除故障的转储。docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=MyStrongPassword" --cap-add SYS_PTRACE -u $(id -u myusername):0 -p 1433:1433 -d mcr.microsoft.com/mssql/server:2019-latest以根用户的身份运行非根容器如有必要,可以以根用户身份运行非根容器,这也会自动向容器授予所有文件权限,因为它具有更高的特权。docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=MyStrongPassword" -u 0:0 -p 1433:1433 -d mcr.microsoft.com/mssql/server:2019-latestSQLSERVER
2024年02月27日
1 阅读
0 评论
0 点赞
2024-02-27
Docker运行SQL SERVER下的数据持久化
为非根容器配置持久存储权限若要允许非根用户访问已装载卷上的数据库文件,请确保以可读取/写入永久性文件存储的用户身份或组成员身份运行容器。可通过此命令获取数据库文件的当前所有权。ls -ll <database file dir>如果 SQL Server 无权访问持久数据库文件,请运行以下命令之一。授予根组对数据库文件的读/写访问权限授予对以下目录的根组权限,使非根 SQL Server 容器有权访问数据库文件。chgrp -R 0 <database file dir> chmod -R g=u <database file dir>将非根用户设置为文件的所有者这可以是默认的非根用户,也可以是要指定的任何其他非根用户。 在此示例中,我们将 UID 10001 设置为非根用户。chown -R 10001:0 <database file dir>保留数据即使通过 docker stop 和 docker start 重启容器,SQL Server 配置仍会更改,且数据库文件依然保留在容器中。 但是,如果使用 docker rm 删除容器,则会删除容器中的所有内容,包括 SQL Server 和数据库。 以下部分介绍如何使用数据卷保留数据库文件(即使关联的容器已被删除)。重要:对于 SQL Server,了解 Docker 中的数据持久性至关重要。 除本部分讨论的内容外,请参阅有关如何在 Docker 容器中管理数据的 Docker 文档。备注SQL Server 2019 (15.x) 及更高版本容器以非根用户的身份自动启动,而 SQL Server 2017 (14.x) 容器在默认情况下以根用户的身份启动。 有关以非根用户的身份运行 SQL Server 容器的详细信息,请参阅配置安全性。docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=<YourStrong!Passw0rd>' -p 1433:1433 -v <host directory>/data:/var/opt/mssql/data -v <host directory>/log:/var/opt/mssql/log -v <host directory>/secrets:/var/opt/mssql/secrets -d mcr.microsoft.com/mssql/server:2019-latest借助此方法,还能共享和查看 Docker 外部的主机上的文件。备份和还原除这些容器技术外,还可使用 SQL Server 标准备份和还原技术。 可通过备份文件来保护数据,或将数据移至其他 SQL Server 实例。 有关详细信息,请参阅在 Linux 上备份和还原 SQL Server 数据库。警告如果要创建备份,请确保在容器外部创建或复制备份文件。 否则,一旦删除容器,备份文件也将随之删除。启用容器中的 VDI 备份和还原从 CU15 for SQL Server 2019 和 CU28 for SQL Server 2017 开始,SQL Server 容器部署现在支持虚拟设备接口 (VDI) 备份和还原操作。 按照以下步骤为 SQL Server 容器启用基于 VDI 的备份或还原:部署 SQL Server 容器时,请使用 --shm-size 选项。 若要开始,请将大小设置为 1 GB,如以下示例命令所示:docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=Mystr0ngP@ssw0rd!" --shm-size 1g -p 1433:1433 --name sql19 --hostname sql19 -d mcr.microsoft.com/mssql/server:2019-latest使用选项 --shm-size,可以在容器内配置共享内存目录 (/dev/shm) 的大小,默认情况下设置为 64 MB。 共享内存的这一默认大小不足,无法支持 VDI 备份。 建议你在部署 SQL Server 容器并想要支持 VDI 备份时将此大小配置为至少 1 GB。还必须在容器内的 mssql.conf 中启用新参数 memory.enablecontainersharedmemory。 可以使用保留数据部分中所述的 -v 选项,或在通过手动更新容器内的 mssql 来部署容器后,在部署容器时装载 mssql.conf。 下面是一个示例 mssql.conf 文件,其中 memory.enablecontainersharedmemory 设置设为 true。[memory] enablecontainersharedmemory = true配置时区若要在具有特定时区的 Linux 容器中运行 SQL Server,请配置 TZ 环境变量(有关详细信息,请参阅在 Linux 上配置时区)。 若要查找正确的时区值,请从 Linux bash 提示符运行 tzselect 命令:tzselect选择时区后,tzselect 显示类似以下内容的输出:The following information has been given: United States Pacific Therefore TZ='America/Los_Angeles' will be used.要查看容器内的时区,请在容器内运行以下命令查询。date +%Z要查看容器内的时间,请在容器内运行以下命令查询。date可使用此信息在 Linux 容器中设置相同的环境变量。 以下示例介绍如何在 Americas/Los_Angeles 时区的容器中运行 SQL Server:sudo docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=<YourStrong!Passw0rd>' \ -p 1433:1433 --name sql1 \ -e 'TZ=America/Los_Angeles'\ -d mcr.microsoft.com/mssql/server:2019-latest更改默认文件位置添加 MSSQL_DATA_DIR 变量以在 docker run 命令中更改数据目录,然后将卷装载到容器的用户有权访问的位置。docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=MyStrongPassword' -e 'MSSQL_DATA_DIR=/my/file/path' -v /my/host/path:/my/file/path -p 1433:1433 -d mcr.microsoft.com/mssql/server:2019-latest更改 tempdb 路径最好将 tempdb 数据库与用户数据库分开。连接到 SQL Server 实例,然后运行以下 Transact-SQL (T-SQL) 脚本。 如果存在多个与 tempdb 相关的文件,也需要移动这些文件。ALTER DATABASE tempdb MODIFY FILE ( NAME = tempdev, FILENAME = '/var/opt/mssql/tempdb/tempdb.mdf' ); GO ALTER DATABASE tempdb MODIFY FILE ( NAME = templog, FILENAME = '/var/opt/mssql/tempdb/templog.ldf' ); GO使用以下 T-SQL 脚本验证是否已修改 tempdb 文件位置:SELECT * FROM sys.sysaltfiles WHERE dbid = 2;必须重启 SQL Server 容器,这些更改才能生效。docker stop sql1 docker start sql1打开交互式 bash 会话以连接到容器。docker exec -it sql1 bash ls /var/opt/mssql/tempdb/#如移动成功,则有以下输出 tempdb.mdf templog.ldf参考链接:Microsoft Learn
2024年02月27日
0 阅读
0 评论
0 点赞
1
...
5
6
7