neuron-explorer
Qwen3.5‑4B 전용 조향형 뉴런 탐색기, 모든 MLP 뉴런을 밀어 결과를 보관·탐색
Microsoft SQL Server DBA 블로그로 운영, 엔지니어링, 성능 문제 해결, 모니터링, 실무 스크립트에 초점
A Microsoft SQL Server DBA blog focused on operations, engineering, performance troubleshooting, monitoring, and production-ready scripts.
개발 도구PowerShell · TSQLGitHub @peterwhyte-lgtm온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Production-ready T-SQL scripts and tools for SQL Server DBAs. Focused on HA/DR (Availability Groups), performance diagnostics, monitoring, and incident response.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
SQL Server Health, Reviewed by AI — Collection, Dashboard, and Copy/Paste Scripts for Production DBAs
I'm Peter Whyte — production SQL Server DBA, running sqldba.blog. This is the toolkit I actually use, and it's built around one idea: collect everything a DBA looks at on a server, then have an AI review it with you.README 전문 보기 ↗I'm Peter Whyte — production SQL Server DBA, running sqldba.blog. This is the toolkit I actually use, and it's built around one idea: collect everything a DBA looks at on a server, then have an AI review it with you.
The core workflow is three steps. A health check collection runs 45 diagnostic scripts against an instance and saves each result as a CSV. A rules review turns those CSVs into deterministic CRITICAL / WARNING / INFO findings. Then an AI assessment reads the whole collection and does what fixed thresholds can't — correlates findings across the CSVs into root causes and writes a prioritized report with evidence and a fix for each issue. It's a second reviewer that has read every output, doesn't get tired, and surfaces the blindspots you'd miss at 2am.
Underneath that sits everything else a production DBA needs, usable on its own:
Every script came from a real situation: an incident, a migration window, a client handover, or a routine check that needed to be fast and safe. It runs against localhost by default, a named instance when you pass one, or a server list via the multi-server scripts.
Everything is read-only by default. Every script has a header with what permissions it needs and what it touches. Nothing phones home, nothing requires a framework — and nothing is sent to any AI until you run the assessment step yourself.
Clone the repo and run the setup script. This assumes a local SQL Server is installed, no flags needed:
git clone https://github.com/peterwhyte-lgtm/dba-tools
cd dba-tools
.\Initialize-Environment.ps1
This checks PowerShell version, installs the SqlServer module if missing, creates output directories, and verifies the connection. Pass or fail, it tells you exactly what to do next.
To target a remote or named instance instead, pass -ServerInstance:
.\Initialize-Environment.ps1 -ServerInstance PROD01\SQL2025
Once setup passes, the server is saved for the session and every script picks it up automatically — no -ServerInstance flag needed on each run.
Full prerequisites and troubleshooting: SETUP.md
The flagship workflow. Three commands take a server from "no idea" to a prioritized written assessment:
.\powershell\reporting\Invoke-HealthCheckCollection.ps1 -ServerInstance PROD01\SQL2025 # 1. collect
.\powershell\reporting\Review-HealthCheckOutput.ps1 # 2. rules review
.\powershell\reporting\Invoke-AiAssessment.ps1 # 3. AI assessment
Step 1 collects 45 scripts in a single pass — backups, waits, blocking, memory, disk, security surface area, agent jobs, integrity checks, and more — into one timestamped folder of CSVs.
Step 2 applies fixed rules: missing or stale backups, databases not online, stale DBCC CHECKDB, suspect pages, sa enabled, percent-based autogrowth, unconfigured max server memory, I/O latency above threshold, transaction log pressure, high VLF count, maintenance job failures.
Step 3 is the point of the collection. The AI reads every CSV and correlates what the rules can't: the missing index findings that line up with the top CPU queries, the autogrowth history that explains the VLF count, the weak login that's also a sysadmin. The output is a written report — verdict, priority issues with evidence and a fix for each, security posture, watch list — saved to output-files\assessments\.
Two ways to run the AI step, both driven by the same rubric:
Invoke-AiAssessment.ps1, scriptable and schedulable. Works with a personal key at home or a corporate key/gateway at work; nothing account-related is stored in the repo. -DryRun writes the exact prompt to a file without calling any API, so a corporate review can see byte-for-byte what would be sent.Setup for both paths, including the corporate data-review question: docs/ai-assessment.md
For a client handover or ownership review, there's also a scored markdown report with no AI dependency:
.\powershell\reporting\Invoke-AssessmentReport.ps1 -ServerInstance PROD01\SQL2025 -AssessedBy "Peter Whyte"
A local browser dashboard where collection output is viewed and signed off. One Collect action feeds every page:
.\web-ui\Start-WebUi.ps1
# Opens at http://localhost:8787
Runs on localhost:8787 only. The server itself has no external dependencies; the browser chart view loads Chart.js from a CDN. The UI is optional: every workflow above works from the terminal alone. A multi-server fleet dashboard is on the roadmap.
Everything above assumes you are the one asking. mcp/ ships the same reference as an
MCP server, so an AI assistant can look things up here instead
of answering from memory — which is where confident, wrong SQL Server answers come from.
pip install "sqldba-mcp @ git+https://github.com/peterwhyte-lgtm/dba-tools.git#subdirectory=mcp"
Six tools, and the ceiling is deliberate — a test fails the build if a seventh appears:
| Tool | Answers |
|---|---|
lookup_error | an error number, or a phrase from the message |
explain_wait | a wait type, and whether it is worth chasing |
check_build | a build number, version year or pasted @@VERSION → CU, KB, support dates |
find_script | "which script does X", with the safety class attached |
get_script | the script body, verbatim from this repo |
answer_question | an operational how/why question, from published write-ups |
run_script tool.
The datasets ship inside the package, so it works on an air-gapped box.mcp/tests/real_questions.py, which
asks from outside the corpus rather than rewording the corpus back at itself.The reference behind the tools is the blog's pillar libraries: the Error Library, the Wait Types Library, the builds and support lifecycle list, and the DBA Scripts hub.
Full write-up, including what the numbers do and do not prove: The sqldba MCP Server.
Browse sql/ and copy directly into SSMS. No parameters, no magic variables, no install. Every script is a single result set.
| Category | What you get |
|---|---|
sql/performance/ | Wait stats, blocking chains, active requests, long queries, missing indexes, deadlocks, plan cache, heaps, unused indexes |
sql/monitoring/ | Instance config score, database health, TempDB, memory, MAXDOP, SQL Agent jobs, disk, VLF count, autogrowth history |
sql/backups/ | Coverage by database, history, backup age, encryption status, restore duration estimates |
sql/security/ | Sysadmin members, login audit, orphaned users, weak logins, linked server security, database permissions |
sql/migration/ | Risk assessment, compatibility audit, deprecated features, login inventory, DDL generators |
sql/high-availability/ | AG replica health, sync state, latency, readable secondary usage |
sql/maintenance/ | Generate backup jobs, index maintenance jobs, housekeeping DDL, maintenance job status |
Full list with descriptions and companion posts: docs/script-catalog.md. Folder map and what is safe to run: sql/README.md.
The same scripts, callable by name from any directory. No paths, no module dependencies beyond the SqlServer module.
# Run any script by name — fuzzy match. Results always saved to output-files/ as CSV.
.\run.ps1 Get-WaitStatistics
.\run.ps1 Get-BlockingChains -ServerInstance PROD01\SQL2025
.\run.ps1 Get-BackupCoverage -OutputFormat Csv # CSV only, no terminal output
# Set a server once for the session — every script picks it up
.\tools\local-sql\Set-SqlConnection.ps1 -ServerInstance PROD01\SQL2025
.\run.ps1 Get-WaitStatistics
docs/ops/ covers the planned work — the things you need to get right before and during a maintenance window, not the things you're diagnosing in the moment.
Change orders — CAB-ready approval documents for version upgrades, server migrations, and AG failovers. Pre/post checks and rollback criteria included.
Execution checklists — step-by-step guides for AG cluster migration, standalone server replacement, DR failover, and SQL version upgrades. Written for the person executing, not the person reviewing.
Runbooks — full playbooks covering standalone migration, AG cluster migration, OS upgrade, edition change, and version upgrade. What to do, in what order, with decision points for when things go sideways.
Change templates — SQL for TDE, CDC, mirroring, AG configuration, statistics maintenance, DBCC patterns, and patching. Copy the template, fill in the variables, review before executing.
Run against the source server before a migration window:
# Pre-migration risk scan — HIGH/MEDIUM/INFO findings across compat, features, logins, config
.\powershell\migration\Invoke-PreMigrationAssessment.ps1 -ServerInstance PROD01\SQL2025
# Capture baseline metrics for before/after comparison
.\powershell\migration\Export-MigrationBaseline.ps1 -ServerInstance PROD01\SQL2025 -Label pre
Covers: compatibility gaps, deprecated features in active use, edition-only features, linked server dependencies, AG membership, login inventory with migration risk, post-migration validation checklist.
| Minimum | Recommended | |
|---|---|---|
| SQL Server | 2016 (13.x) | 2019+ |
| PowerShell | 7 | 7+ |
| SQL execution | sqlcmd.exe on PATH | SqlServer module (Invoke-Sqlcmd) |
| Permissions | VIEW SERVER STATE, VIEW ANY DATABASE | Same |
The SQL scripts themselves need no PowerShell at all — open them from sql/ and paste into SSMS. The
tooling around them (run.ps1, the wrappers, the health check) uses PowerShell 7 syntax; run.ps1
hands off to pwsh automatically if you start it from Windows PowerShell 5.1, but pwsh has to be
installed. winget install Microsoft.PowerShell.
Install-Module -Name SqlServer -Scope CurrentUser -Force
The AI assessment step additionally needs either Claude Code (signed in) or an ANTHROPIC_API_KEY — see docs/ai-assessment.md. Everything else runs fully local.
See CONTRIBUTING.md. This is Peter's toolkit — contributions are welcome, but scope and direction are his call. Scripts must be read-only, single result set, and include the standard header.