Aug-13-2020, 04:24 AM
(This post was last modified: Aug-13-2020, 06:35 AM by Gribouillis.)
I need to get 'used data space' of database. I decided to use sp_spaceused. I am using python 3 and pyodbc My code:
1. How to fix it?
2. What select statement could I use instead of stored procedure to get 'used data space'?
Thanks
query = ''' CREATE TABLE SpaceUsed ( TableName sysname ,NumRows BIGINT ,ReservedSpace VARCHAR(50) ,DataSpace VARCHAR(50) ,IndexSize VARCHAR(50) ,UnusedSpace VARCHAR(50) ) INSERT INTO SpaceUsed EXEC sp_msforeachtable @command1=\'exec sp_spaceused ''?''\' SELECT sum(CONVERT(int,REPLACE(DataSpace,' KB','')) ) as SUM FROM SpaceUsed ''' db = pyodbc.connect(dsn2) curs = db.cursor() curs.execute(query) actual_size = curs.fetchall()[0][0]It throws an error:
Error: actual_size = curs.fetchall()[0][0]
pyodbc.ProgrammingError: No results. Previous SQL was not a query.
Questions:1. How to fix it?
2. What select statement could I use instead of stored procedure to get 'used data space'?
Thanks